hobbyliu
V2EX  ›  Docker

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

  •  
  •   hobbyliu · Mar 2, 2019 · 4395 views
    This topic created in 2651 days ago, the information mentioned may be changed or developed.

    方案一

    nginx fpm webcode 都打到同一个镜像

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

    方案二

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

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

    9 replies    2019-03-08 10:18:32 +08:00
    byteli
        1
    byteli  
       Mar 2, 2019 via Android
    有用方案一
    hly9469
        2
    hly9469  
       Mar 2, 2019 via iPhone
    1 呗,php 官方 fpm 镜像就解了
    HuHui
        3
    HuHui  
       Mar 2, 2019 via Android
    一,并没有违背
    xzl380
        4
    xzl380  
       Mar 2, 2019
    Nginx Unit
    vinsec
        5
    vinsec  
       Mar 2, 2019 via iPhone
    不推荐方案一吧,一个容器本来就是一个进程,也就是 entrypoint.多个一旦非主进程崩了都不容易排查。看业务规模,考虑 sidecar,用 k8s
    akira
        6
    akira  
       Mar 3, 2019
    1 怎么方便怎么来 , 最多前面再加一层 nginx
    hobbyliu
        7
    hobbyliu  
    OP
       Mar 3, 2019
    @fangpeishi unit 的确是好东西,但是仅支持到 php7.0,不太好凑合。。
    @vinsec 有道理。
    kiddingU
        8
    kiddingU  
       Mar 5, 2019
    用的 1 方案,简单方便
    mafeifan
        9
    mafeifan  
       Mar 8, 2019
    个人理解:
    1 代码打包进镜像,可用于正式环境,有些软件如执行 docker run portainer 就直接能跑起来,就是编译的代码就在镜像中。分发部署都非常方便。
    2. 目录挂载方式可用于测试环境,调试起来方便。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1047 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 18:39 · PVG 02:39 · LAX 11:39 · JFK 14:39
    ♥ Do have faith in what you're doing.