Docker环境一键部署若依微服务版

2022-5-7 大约 4 分钟

# Docker环境一键部署若依微服务版

若依管理系统 (opens new window)是基于SpringBoot的权限管理系统,可以用它作为基础构建自己的后台管理系统 (opens new window)。这个项目在 Gitee 上有1.8 万个 star。

它有3 个版本,分别是单体版、前后端分离 (opens new window)版、微服务 (opens new window)版。这次是使用 docker部署他的微服务版本。

微服务版项目源代码包括 docker 部署的相关代码,但在实际部署过程中,并不能直接部署成功。

我将部署配置做了修改,代码放到了 gitcode (opens new window) 上,点这里 (opens new window)查看代码改动部分。

image-20220505183351353

在安装好 docker 环境的主机上,复制并运行以下脚本可以实现一键部署若依系统。脚本执行时间大概 20 分钟左右。

git clone https://gitcode.net/hjue/ruoyi-cloud-docker.git
cd ruoyi-cloud-docker/docker/
sh copy.sh
sh deploy.sh base
sh deploy.sh modules
1
2
3
4
5

以下详细介绍安装过程

# 步骤一:准备构建环境

构建若依后端服务需要 Java和 Maven,安装过程参考文档【在CentOS7上安装和配置Java Web环境】

构建若依前端需要安装 Node.js,安装过程参考文档【在CentOS7上安装和配置Node.js】

Web 服务需要安装 Nginx,安装过程参考文档【手动部署LNMP环境】

整个安装过程比较耗时,可以购买 CSDN 云主机的 Springboot 镜像创建实例,一键准备好安装环境。Springboot 镜像已预装了如下软件:

  • Java 1.8

  • Maven

  • Node.js

  • Git

  • Docker

  • Nginx

  • MySQL

  • Redis

去 CSDN 开发云管理控制台 (opens new window),选择【springboot】镜像创建主机。

【springboot】镜像主机已经安装了 mysql、redis、nginx,这 3 个服务我们后面采用 docker 安装,这里停止这 3 个服务。

登录 Linux 主机,以 root 身份运行以下命令,停止 mysql 、redis、nginx 服务

systemctl stop mysql
systemctl disable mysql

systemctl disable redis
systemctl stop redis

systemctl disable nginx
systemctl stop nginx
1
2
3
4
5
6
7
8

# 步骤二:准备docker 环境

首先你需要安装好 docker 和 docker-compose。

安装 docker

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
 
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

systemctl start docker
1
2
3
4
5
6
7
8

安装好的 docker 和 docker-compose的版本如下

# docker -v
Docker version 20.10.14, build a224086
# docker-compose -v
Docker Compose version v2.3.3
1
2
3
4

注意不能使用 compose v1版本,docker 尽量用新的版本

详细的安装过程参考文档CentOS 7 安装 Docker

# 步骤三:下载若依微服务版代码

git clone https://gitcode.net/hjue/ruoyi-cloud-docker.git
1

此版本 fork 自若依微服务版,修正了原版中 docker-compose 不能直接部署的问题

# 步骤四:构建前后端,复制发布文件到对应docker路径

cd ruoyi-cloud-docker/docker/
sh copy.sh
1
2

构建时间大概5-10 分钟,看到如下图示就说明构建成功了

image-20220505151356941

# 步骤五:启动若依系统基础环境

启动的服务包括 nacos-server、mysql、redis 服务

sh deploy.sh base
1

以上命令需要下载 3 个服务的镜像,大概需要运行 10-15 分钟。

运行完成后,使用 docker-compose ps 查看服务运行的状态,我们看到都是 running 状态表示服务正在正常运行

image-20220505151548898

打开浏览器,访问 http://<服务器ip 地址>:8848/nacos/,用你的服务器 ip 地址替代<服务器ip 地址>,如果能看到如下界面,表示nacos-server安装成功,可以接着进行下面安装。如果不能访问,可以通过查看nacos 日志文件nacos/logs/nacos.log寻找问题原因。

image-20220505164818393

# 步骤六:启动程序模块

sh deploy.sh modules
1

脚本大概运行 4 分钟左右,这个时间主要取决于下载镜像的速度。脚本运行结果如下,表示运行成功

image-20220505181443490

打开浏览器,访问你的主机 ip 地址,可以看到若依后台系统的登录界面,整个安装过程结束

image-20220505181222837

# 进阶

至此,我们完成了 用docker部署若依的微服务版。

不过这种部署方式还需要进行以下优化才能用在生产环境中:

  • 构建镜像一般使用CI工具进行,而不在生产环境中构建
  • 镜像存放在 docker 仓库中,生产环境只需拉取镜像
  • 镜像需要有版本管理,方便指定版本部署和回滚