请问大家正式环境如何部署php的docker项目呢?
是不是在服务器上将docker环境搭起来,每次发布的时候git pull 自动化部署的时候将git pull 这些操作放到一个shell中 jenkins就触发这个脚本就发布了,总感觉这种方式不太好,每次发布要重新构建容器还是怎么样,有没有好的实践方案
我们在部署单机的时候使用的方案较为简单,对于用 php-fpm 执行的代码,直接更新代码便可以了,docker 只用来启动并管理 php-fpm 的容器。使用 docker-compose 管理各个容器之间的启动顺序、挂载卷和网络,yaml 配置使用代码仓库进行管理。唯一需要注意的是,如果使用了队列,需要在代码部署前后重启队列消费者容器,这取决于消息的生产者和消费者在升级前后是否兼容的问题,以及消息处理失败是否有补救的方法。
但如果你使用集群的话,我倒觉得更简单一些,可以依靠集群的滚动升级机制。