Docker撰写开发和生产环境最佳工作流程

我已经构建了一个简单的Docker Compose项目作为开发环境.我有
PHP-FPM,Nginx,MongoDB和Code容器.

现在我想自动化流程并部署到生产环境.

docker-compose.yml可以扩展,可以定义多个环境.有关更多信息,请参见
https://docs.docker.com/compose/extends/.

但是,我的容器有Dockerfiles.而对于开发环境,需要更多的包而不是生产.

主要问题是我应该为dev和prod使用单独的dockerfiles并在docker-compose.yml和production.yml中管理它们吗?
单独的dockerfiles很容易,但有代码重复.

另一种解决方案是使用环境变量并以某种方式从bash脚本处理它们(可能作为入口点?).

我正在寻找其他想法.

最佳答案 根据
the official docs

… you’ll probably want to define a separate Compose file, say
production.yml, which specifies production-appropriate configuration.

Note: The extends keyword is useful for maintaining multiple Compose
files which re-use common services without having to manually copy and
paste.

点赞