我已经建立了一个简单的 Docker Compose 项目作为开发环境。我有 PHP-FPM、Nginx、MongoDB 和 Code 的容器。
现在我想要自动化这个过程并且部署到生产环境。
然而,我的容器有 Dockerfiles。对于开发环境,需要更多的软件包,而在生产环境中则不需要这些软件包。
主要问题是我应该为
分离的 dockerfiels 是一种简单的方法,但会导致代码重复。
另一个解决方案是使用环境变量并从 bash 脚本中处理它们(也许作为入口点)。
我正在寻找其他的想法。
现在我想要自动化这个过程并且部署到生产环境。
docker-compose.yml
可以扩展并定义多个环境。更多信息请参见 https://docs.docker.com/compose/extends/。然而,我的容器有 Dockerfiles。对于开发环境,需要更多的软件包,而在生产环境中则不需要这些软件包。
主要问题是我应该为
dev
和 prod
使用不同的 dockerfiles 并且在 docker-compose.yml
和 production.yml
中管理它们吗?分离的 dockerfiels 是一种简单的方法,但会导致代码重复。
另一个解决方案是使用环境变量并从 bash 脚本中处理它们(也许作为入口点)。
我正在寻找其他的想法。