Docker容器中Sailsjs应用程序的问题

在容器中运行Sails应用程序(Node.js)有两个问题。 我的容器有一个与nodejs安装的Dockerfile,像这样

FROM ubuntu:14.04 RUN apt-get update && apt-get install -y \ autoconf \ build-essential \ imagemagick \ libbz2-dev \ libcurl4-openssl-dev \ libevent-dev \ libffi-dev \ libglib2.0-dev \ libjpeg-dev \ libmagickcore-dev \ libmagickwand-dev \ libmysqlclient-dev \ libncurses-dev \ libpq-dev \ libreadline-dev \ libsqlite3-dev \ libssl-dev \ libxml2-dev \ libxslt-dev \ libyaml-dev \ zlib1g-dev \ rbenv \ ca-certificates \ curl \ && rm -rf /var/lib/apt/lists/* RUN gem install sass # verify gpg and sha256: http://nodejs.org/dist/v0.10.31/SHASUMS256.txt.asc # gpg: aka "Timothy J Fontaine (Work) <tj.fontaine@joyent.com>" RUN gpg --keyserver pgp.mit.edu --recv-keys 7937DFD2AB06298B2293C3187D33FF9D0246406D ENV NODE_VERSION 0.10.32 ENV NPM_VERSION 2.1.4 RUN curl -SLO "http://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \ && curl -SLO "http://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ && gpg --verify SHASUMS256.txt.asc \ && grep " node-v$NODE_VERSION-linux-x64.tar.gz\$" SHASUMS256.txt.asc | sha256sum -c - \ && tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \ && rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc \ && npm install -g npm@"$NPM_VERSION" \ && npm cache clear EXPOSE 1337 CMD ["/bin/bash"] 

我用无花果运行我的容器,有我的fig.yml:

 web: build: mypath/to/dockerfile/ volumes: - ../src:/src ports: - "1337:1337" expose: - "1337" environment: NODE_ENV: development 

并用命令:

 fig run web 

我的容器运行良好,节点和我的代码在/ src中。 但是,当我试图在我的集装箱里航行时,速度很慢。 它是否与我的电脑上安装的音量有关? 而我的另一个问题是,当帆被取消时,我无法在浏览器中访问我的应用程序。

注意

  • 我在Mac OSX上使用Boot2Docker(如果我可以在浏览器中访问我的容器,我可以从Boot2Docker获得ip进行testing)。

  • 我无法进行COPY而不是VOLUME,因为我正在开发,每次编辑代码时都不想创build我的容器。 生产量是否是一个坏主意?

  • 如果我尝试在我的容器中安装npm,速度也很慢,是不是相关?

谢谢你的帮助 !

以下是虚拟机中比较文件系统的性能。 这不会解决你的问题与VirtualBox,但你可以尝试避免它: https : //github.com/Parallels/boot2docker-vagrant-box