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

2019-03-02 17:35:00 +08:00
 hobbyliu

方案一

nginx fpm webcode 都打到同一个镜像

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

方案二

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

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

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

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

https://www.v2ex.com/t/540369

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

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

© 2021 V2EX