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脚本进行逻辑工作