1

我正在构建一个小型NodeJS/Express应用程序,我正在Dockersing并部署到计算引擎。我有我的docker-compose.yml设置为开发(即我安装我的源代码目录,所以我可以在不重建的情况下进行更改)。Docker和Docker Compose - 为产品图像COPY,但为装置挂载音量

当我准备好制作时,我将构建自己的图像并将其推送到Google Cloud上的容器注册表。当我这样做时,我想将我的源代码烘焙到图像中。注意:这是一个单人项目,我没有设置任何类型的配置项。我可以在Dockerfile中使用COPY,但我使用相同的Dockerfile进行开发。是否可以使用不同的Dockerfile进行生产和开发,或者是否有一种方法可以在Dockerfile本身内有条件地执行此操作?喜欢的东西...

if ENV=production 
    COPY blah ./ 
    ... 

回答

1

最好的做法是保持独立的搬运工文件进行生产,开发和测试 的原因是可以有不同的环境使用这3个阶段,很容易在长期维持运行

始终保持您的docker文件最小化并使用逻辑工作的.sh脚本

+1

谢谢Kalanamith。实际上,我可以同时执行(复制和挂载)和无副作用,因此只需要一个'Dockerfile'并使用'.dockerignore'。 –