V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hobbyliu
V2EX  ›  Docker

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

  •  
  •   hobbyliu · 2019-03-02 17:35:00 +08:00 · 3879 次点击
    这是一个创建于 2087 天前的主题,其中的信息可能已经有所发展或是发生改变。

    方案一

    nginx fpm webcode 都打到同一个镜像

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

    方案二

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

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

    9 条回复    2019-03-08 10:18:32 +08:00
    byteli
        1
    byteli  
       2019-03-02 17:49:20 +08:00 via Android
    有用方案一
    hly9469
        2
    hly9469  
       2019-03-02 19:05:42 +08:00 via iPhone
    1 呗,php 官方 fpm 镜像就解了
    HuHui
        3
    HuHui  
       2019-03-02 19:24:43 +08:00 via Android
    一,并没有违背
    fangpeishi
        4
    fangpeishi  
       2019-03-02 20:30:09 +08:00
    Nginx Unit
    vinsec
        5
    vinsec  
       2019-03-02 23:08:22 +08:00 via iPhone
    不推荐方案一吧,一个容器本来就是一个进程,也就是 entrypoint.多个一旦非主进程崩了都不容易排查。看业务规模,考虑 sidecar,用 k8s
    akira
        6
    akira  
       2019-03-03 00:13:25 +08:00
    1 怎么方便怎么来 , 最多前面再加一层 nginx
    hobbyliu
        7
    hobbyliu  
    OP
       2019-03-03 14:52:21 +08:00
    @fangpeishi unit 的确是好东西,但是仅支持到 php7.0,不太好凑合。。
    @vinsec 有道理。
    kiddingU
        8
    kiddingU  
       2019-03-05 10:25:20 +08:00
    用的 1 方案,简单方便
    mafeifan
        9
    mafeifan  
       2019-03-08 10:18:32 +08:00
    个人理解:
    1 代码打包进镜像,可用于正式环境,有些软件如执行 docker run portainer 就直接能跑起来,就是编译的代码就在镜像中。分发部署都非常方便。
    2. 目录挂载方式可用于测试环境,调试起来方便。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1284 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:51 · PVG 07:51 · LAX 15:51 · JFK 18:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.