我本地现在是PHP、MYSQL、NGINX 三个容器。所有的项目都共用这三个容器。不同项目对环境的配置有细微的差别,例如对PHP扩展的需求每个项目都不一样,目前是把每个项目需要的扩展都在PHP容器中安装了,这样项目之间环境的隔离性就不存在了。问题是:
- 是否每个项目都应该有一套属于自己的NMP容器环境?这样项目多了,容器也会很多,如何管理?
- 上面的问题答案如果是,那么是应该把PHP、MYSQL、NGINX创建到一个容器中,还是单独分开创建。这里有什么经验之谈?
谢谢!
我本地现在是PHP、MYSQL、NGINX 三个容器。所有的项目都共用这三个容器。不同项目对环境的配置有细微的差别,例如对PHP扩展的需求每个项目都不一样,目前是把每个项目需要的扩展都在PHP容器中安装了,这样项目之间环境的隔离性就不存在了。问题是:
谢谢!
1 回答608 阅读✓ 已解决
1 回答560 阅读
4 回答1.3k 阅读
1 回答142 阅读✓ 已解决
1、每个项目都应该有属于自己的环境,每个项目的容器之间的关系可以通过docker-compose来管理,所有项目的镜像通过镜像仓库统一管理,这样假设你有n个项目,你也只需管理n个docker-compose.yml文件和1个镜像仓库。
2、PHP、mysql、nginx应该单独创建,第一使用了docker-compose,3个容器在一个docker-compose.yml文件都管理好了,直接启动就行很方便;第二单独部署的好处还体现在对于php和nginx这些无状态应用可以随时弹起多个副本;第三如果你们后续有迁移到k8s的计划,单独部署会比较省事。