我应该如何实现更好的Docker工作stream?

每当我在nodejs应用程序中更改文件时,我必须重新构build泊坞窗图像。
这感觉多余,并减慢我的工作stream程。 有没有适当的方式来同步nodejs应用程序文件,而不重build整个图像,或者这是一个正常的使用?

这听起来像你想加快发展进程。 在这种情况下,我build议使用docker run -v选项将您的目录安装到您的容器中: https : //docs.docker.com/engine/userguide/dockervolumes/#mount-a-host-directory-asa-a-数据量

一旦你完成开发你的程序生成图像,现在启动docker没有-v选项。

我最终做的是:

1) 通过 docker run命令使用卷 – 这样我就可以更改代码,而无需每次重builddocker映像。

2)我有一个node_modules被覆盖的问题,因为一个卷的行为就像是一个挂载 – 通过节点的PATH遍历来修复它。

Dockerfile:

 FROM node:5.2 # Create our app directories RUN mkdir -p /usr/src/app WORKDIR /usr/src/app RUN npm install -g nodemon # This will cache npm install # And presist the node_modules # Even after we are using the volume (overwrites) COPY package.json /usr/src/ RUN cd /usr/src && npm install #Expose node's port EXPOSE 3000 # Run the app CMD nodemon server.js 

命令行:

build立:

 docker build -t web-image 

跑步:

 docker run --rm -v $(pwd):/usr/src/app -p 3000:3000 --name web web-image