问题:

公司给我们分配的服务器到期后不付费了,换成新服务商的服务器了。也就是说我们之前的环境需要重新搭建一次。光项目就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文件:

使用docker增加部署速度的一次实践的更多相关文章

  1. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  2. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  3. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

  4. 从头认识一下docker-附带asp.net core程序的docker化部署

    从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...

  5. 基于Docker一键部署大规模Hadoop集群及设计思路

    一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存 ...

  6. docker stack 部署 mysql 5.6

    =============================================== 2018/7/1_第1次修改                       ccb_warlock === ...

  7. docker stack 部署 seafile(http)

    =============================================== 2018/5/13_第1次修改                       ccb_warlock == ...

  8. Linux 上安装Docker 并部署netcor2.1

    述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享 ...

  9. Docker 的部署方式

    在使用 docker run 命令启动 Docker 容器时,如果需要进行端口映射.目录挂载.网络信息等配置,整条命令将变得非常长,并且由于是一条 shell 命令,修改和复用也不方便.我们在大规模部 ...

随机推荐

  1. H3C PPP MP配置示例二

  2. 机器学习-RBF高斯核函数处理

     机器学习-RBF高斯核函数处理 SVM高斯核函数-RBF优化 重要了解数学的部分: 协方差矩阵,高斯核函数公式. 个人建议具体的求法还是看下面的核心代码吧,更好理解,反正就我个人而言,烦躁的公式,还 ...

  3. Flex AIR使用ADT命令打包 ipa

    1. 配置环境变量. 2. 测试adt命令 3. 将ShepherdPhone0815.mobileprovision和 my.p12文件都放入编译好的工程目录下,如下图: 4.切换到上述编译好的目录 ...

  4. Django入门总结

  5. Redis - 命令行工具

    使用Redis内置的命令行工具 redis-cli一些便捷的命令: 1.执行单条命令 平时在访问 Redis 服务器,一般都会使用 redis-cli 进入交互模式,然后一问一答来读写服务器,这种情况 ...

  6. VC++ CMsflexgrid 使用

    引用actvie x :microsoft CMsflexgrid; BOOL CCalibrationCoordsDisDlg::OnInitDialog() { CDialog::OnInitDi ...

  7. 【47.63%】【hdu 1532】Drainage Ditches

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...

  8. .net core 读取Excal文件数据及注意事项

    添加ExcelDataReader.DataSet引用. 调用下列方法: public class XlsHelper { public static System.Data.DataSet GetX ...

  9. linux中inode的理解

    一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统 ...

  10. seajs源码学习(一)

    今天是2015年12月4日,天气较为阴冷.(习惯性记下日期和天气,总要留些回忆给以后) 学习的最佳捷径是模仿,所以如果想快速提高javascript技术,捷径就是去读大神们的优秀源码.就像我们学说话一 ...