当前位置: 首页 > news >正文

IM项目 ----- 项目部署

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
      • 1.需求分析
      • 2.大体流程
      • 3.gflags配置文件编写
      • 4.获取动态库脚本
        • 5.容器内服务启动顺序脚本
        • 6. 打包镜像
          • 7.编写Docker compose文件多容器编排


前言

之前项目就是使用linux的systemd进行了一个简单的管理,太过于简陋了。这次我们使用docker来对项目进行一个部署。


1.需求分析

我们项目中用到的中间件也就是需要独立部署的有五个,分别是:etcd,mysql,redis,es和rabbitmq。另外我们还需要部署7个子服务,所以我们总共需要制作12个镜像,也就是12个容器来进行部署。

2.大体流程

1.项目中我们使用的是gflags来设置服务间ip和端口的访问的,之前是直接写死在代码中。为了方便我们的一键式部署,我们需要改用gflags配置文件的方式来读取参数。
2.我们需要大程序运行所使用到的动态库都拷贝到子服务的镜像中。
3.我们的子服务启动需要依赖于etcd服务的启动,但是docker-compose的depends_on:只能指定容器的启动顺序。所以我们需要编写一个脚本来控制容器中服务的启动顺序。
4.为每个子服务编写Dockerfile文件,生成镜像
5.编写docker-compose文件一键式部署项目

3.gflags配置文件编写

我们需要为每一个子服务编写一个conf文件,但是我们不把这个文件拷贝到镜像中,我们通过持久卷将conf文件映射到镜像中。
所以我们在conf文件夹中对conf文件进行一个统一的管理
在这里插入图片描述
这是文件子服务的一个conf文件编写,其中我们需要把ip地址换成自己主机的共有IP.其次我们需要将log日志路径进行一个替换,换成镜像中的地址。其他的子服务也一样的方式编写
在这里插入图片描述

4.获取动态库脚本

通过ldd命令获取可执行文件的动态库,将动态库拷贝到指定子服务统一存放,同时将nc命令也拷贝进去,我们需要在镜像中使用这个命令。后面我们在制作镜像会将这些文件拷贝进去。
在这里插入图片描述

5.容器内服务启动顺序脚本

我们的子服务启动之前需要将自身节点注册到etcd中,所以我们依赖于etcd的启动,这个脚本就是帮助我们干这个事情的。
这个脚本会循环的调用nc,来检测目标服务是否启动,这个脚本我们是通过持久卷映射到镜像中的。在容器启动后会执行这个脚本。
在这里插入图片描述

6. 打包镜像

编写Dockerfile文件来打包生成镜像,我们会生成几个目录,包括日志目录,中间数据目录,配置文件目录和可执行文件目录。
然后我们会把可执行文件和动态库和nc拷贝进去。

这个是文件子服务的dockerfile文件
在这里插入图片描述

7.编写Docker compose文件多容器编排

这个文件中我们需要启动12个容器,每个容器中跑一个服务。下面是好友子服务的配置。
entrypoint就是容器启动后执行的命令,我们会执行nc和启动服务。
在这里插入图片描述

相关文章:

  • SZU软件工程大学生涯 2022~2026
  • 语言大模型之BERT
  • Java 大视界 -- Java 大数据中的知识图谱可视化与交互分析技术(141)
  • 数据库面试题一
  • 开箱即用:免费的数据库管理平台 NineData 社区版
  • 安装和部署Tomcat并在idea创建web文件
  • 在linux服务器部署Heygem
  • pdf文件分页按需查看
  • c库、POSIX库、C++库、boost库之间的区别和联系
  • 自动驾驶背后的数学:多模态传感器融合的简单建模
  • 星玲之战.重启誓约(第四章)
  • 玩转C#函数:参数、返回值与游戏中的攻击逻辑封装
  • 日做力扣题3 -- 206. 反转链表
  • Day11 动态规划入门
  • 第11章:Kubernetes架构详解:控制平面与数据平面
  • 学习CSS滤镜属性 `filter: invert()`
  • 目标检测20年(二)
  • GRS认证的注意事项!GRS认证的定义
  • 纯血鸿蒙:中国操作系统自主创新的里程碑
  • 第六届IEEE人工智能、网络与信息技术国际学术会议(AINIT 2025)
  • 人民网三评“网络烂梗”:莫让低级趣味围猎青少年
  • 坚持吃素,是不是就不会得高血脂了?
  • 青海省交通运输厅副厅长田明有接受审查调查
  • 上海团队在医学顶刊连发两文,率先提出“证据污染”循证概念
  • “11+2”复式票,宝山购彩者领走大乐透1170万头奖
  • 刘永明|在从普及到提高中发展新大众文艺