nginx+ PHP 架构如何实现 docker 持续化交付(CD)的上线部署方案?

2019 年 3 月 2 日
 hobbyliu

方案一

nginx fpm webcode 都打到同一个镜像

问题:这种方式违背了容器化最少实例集成的理念

方案二

nginx 打入镜像 nginx_image, fpm 打入 fpm_image, webcode 单独部署到 host 宿主机 www 目录,nginx 和 fpm 映射 www 目录

问题:这样 webcode 需要单独上线维护,增加了持续化交付流程的复杂度,不方便容器横向扩展。

4402 次点击
所在节点    Docker
9 条回复
byteli
2019 年 3 月 2 日
有用方案一
hly9469
2019 年 3 月 2 日
1 呗,php 官方 fpm 镜像就解了
HuHui
2019 年 3 月 2 日
一,并没有违背
xzl380
2019 年 3 月 2 日
Nginx Unit
vinsec
2019 年 3 月 2 日
不推荐方案一吧,一个容器本来就是一个进程,也就是 entrypoint.多个一旦非主进程崩了都不容易排查。看业务规模,考虑 sidecar,用 k8s
akira
2019 年 3 月 3 日
1 怎么方便怎么来 , 最多前面再加一层 nginx
hobbyliu
2019 年 3 月 3 日
@fangpeishi unit 的确是好东西,但是仅支持到 php7.0,不太好凑合。。
@vinsec 有道理。
kiddingU
2019 年 3 月 5 日
用的 1 方案,简单方便
mafeifan
2019 年 3 月 8 日
个人理解:
1 代码打包进镜像,可用于正式环境,有些软件如执行 docker run portainer 就直接能跑起来,就是编译的代码就在镜像中。分发部署都非常方便。
2. 目录挂载方式可用于测试环境,调试起来方便。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/540369

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX