问题:
公司给我们分配的服务器到期后不付费了,换成新服务商的服务器了。也就是说我们之前的环境需要重新搭建一次。光项目就50多个(微服务40+,其他服务不到10个),需要重新部署。
之前部署项目时,需要经过:部署代码,手动新增nginx配置,重启nginx,验证服务,有时nginx配置错误还会影响服务器上其他服务。流程繁琐。
需求:
更快的项目部署和迁移速度
环境隔离
解决:
虽然备份了之前服务器的配置和数据,可以快速搭建,但是想想后期部署新项目的时候还是很麻烦,就用docker把项目部署流程改进了下。
步骤: 1制作统一镜像,2规范项目nginx php配置,3编写公共docker-compose.yml文件
1 由于我们的项目php有多个版本,因此制作了多个集成了centos 不同版本php的镜像,因为运维同学最近也在研究怎么使用容器技术快速部署项目,他们做好的镜像我直接导入使用了。
2 容器内的项目部署目录固定 端口固定 index.php位置固定 这三个配置固定后 容器内的nginx 配置文件不需要修改。为了能够支持更多的容器启动,我们调小了php-fpm.conf 内进程有关配置,
3 最终通过在每个项目中增加docker-compose.yml文件(方便后期容器的维护),仅仅修改 1处外部映射端口和替换6处项目名称为当前项目名,部署在服务器项目同名目录后,使用有关命令便可快速创建 启动 停止 删除项目。
最后给出我的样例docker-compose.yml文件: