Docker和Docker Compose – COPY的prod图像,但装入dev的卷

我正在构build一个小型的NodeJS / Express应用程序,我正在Dockersing并部署到Compute Engine。 我有我docker-compose.yml设置为开发(即我正在安装我的源代码目录,所以我可以在不重build的情况下进行更改)。

当我准备好制作时,我将构build自己的图像并将其推送到Google Cloud上的容器registry。 当我这样做时,我想把我的源代码烧成图像。 注意:这是一个单人项目,我没有设置任何types的configuration项。 我可以在我的Dockerfile使用COPY来做到这一点,但我使用相同的Dockerfile进行开发。 可以使用不同的Dockerfile进行生产和开发,或者有一种方法可以在Dockerfile有条件地执行此Dockerfile吗? 就像是…

 if ENV=production COPY blah ./ ... 

最佳实践是为生产,开发和testing保留不同的docker文件原因在于这三个阶段可能有不同的环境使用,从长远来看很容易维护

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