LNMP 多个项目共用一个容器,还是为每个项目都创建独立的容器
我本地现在是PHP、MYSQL、NGINX 三个容器。所有的项目都共用这三个容器。不同项目对环境的配置有细微的差别,例如对PHP扩展的需求每个项目都不一样,目前是把每个项目需要的扩展都在PHP容器中安装了,这样项目之间环境的隔离性就不存在了。问题是:
- 是否每个项目都应该有一套属于自己的NMP容器环境?这样项目多了,容器也会很多,如何管理?
- 上面的问题答案如果是,那么是应该把PHP、MYSQL、NGINX创建到一个容器中,还是单独分开创建。这里有什么经验之谈?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1、每个项目都应该有属于自己的环境,每个项目的容器之间的关系可以通过docker-compose来管理,所有项目的镜像通过镜像仓库统一管理,这样假设你有n个项目,你也只需管理n个docker-compose.yml文件和1个镜像仓库。
2、PHP、mysql、nginx应该单独创建,第一使用了docker-compose,3个容器在一个docker-compose.yml文件都管理好了,直接启动就行很方便;第二单独部署的好处还体现在对于php和nginx这些无状态应用可以随时弹起多个副本;第三如果你们后续有迁移到k8s的计划,单独部署会比较省事。
我对容器经验不多,不过按照我的理解,应该是 一个项目 对应一个容器,即不管这个项目需要哪些组件,都放到一个容器里。
docker为什么产品? 就是为了把
运行环境
和代码
打包到一起