如何在开发环境中有条件地安装主机容器卷和在构build时添加?

假设我将我的代码从github ~/repos/shinycode

 $> cd ~/repos/shinycode $> ls Dockerfile www/index.html $> cat Dockerfile FROM nginx ADD www /usr/share/nginx/html 

对于部署,一切工作正常:从github签出并运行docker build

然而,在开发环境中,我希望使用相同的Dockerfile运行容器,而且还要在www目录中实时编辑文件,例如,如果向Dockerfile提供-v www:/usr/share/nginx/html选项docker run

这种情况下的最佳做法是什么? 我应该有一个单独的Dockerfile没有最后的ADD命令的开发? 我是以完全错误的方式去解决这个问题的吗?

谢谢

您可以使用相同的Dockerfile,并使用任何外部卷安装在映像的/ usr / share / nginx / html文件夹中。 卷的安装优先于文件系统,您将不会在该位置的图像中看到任何内容。