在Windows 10下的Docker上进行Nodejs开发

我正试图围绕Docker包装头以及如何将其用于开发目的。 我正在开发一个Windows 10环境。 我有一个基本的问题,当在Nodejs上进行开发时,可以说你修改了一个.js文件。 你在主机(Windows机器)上修改它,然后把它推到docker容器,或者你修改Docker容器本身的文件? 如果我修改Docker容器上的文件,我该怎么做?

您可以从舒适的主机环境(Windows 10或任何您喜欢的)中修改源代码,然后使用Dockerfile将该源COPY到您的容器中。 特别是使用nodejs,你可以使用如下:

Dockerfile

 FROM node:6 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install COPY . /usr/src/app # replace this with your application's default port EXPOSE 8888 CMD [ "npm", "start" ] 

这个图像假设你的应用程序有一个名为package.json的文件,列出它的依赖关系并定义它的启动脚本 。

 + my-nodejs-app | -Dockerfile | -package.json | -server.js | ... 

最后,您可以构build并运行Docker镜像:

 $ cd my-nodejs-app $ docker build -t my-nodejs-app . $ docker run -it --rm --name my-running-app -p 8888:8888 my-nodejs-app 

或者,您可以将源目录安装为一个卷,并将所有内容都减less为一个命令(在开发阶段有用):

 $ cd my-nodejs-app $ docker run -it --rm --name my-running-script \ -v "$PWD":/usr/src/app -w /usr/src/app \ -p 8888:8888 node:6 npm install && node server.js 

安装一个音量与你的工作代码是你最好的select,所以你不要一遍又一遍地运行这个过程。