一、说明
本文配置环境为VMware虚拟机(4核CPU,4 GB内存,40GB磁盘),OS为openEuler 22.03 LTS ,虚拟机要求能联网。
二、安装docker环境
2.1 安装docker相关软件包
[root@node01 ~]# dnf -y install docker docker-compose
2.2 查看docker版本
[root@node01 ~]# docker version
Client:Version:           18.09.0EulerVersion:      18.09.0.323API version:       1.39Go version:        go1.17.3Git commit:        172f8daBuilt:             Wed Apr 19 02:01:22 2023OS/Arch:           linux/amd64Experimental:      falseServer:Engine:Version:          18.09.0EulerVersion:     18.09.0.323API version:      1.39 (minimum version 1.12)Go version:       go1.17.3Git commit:       172f8daBuilt:            Wed Apr 19 02:00:48 2023OS/Arch:          linux/amd64Experimental:     false
2.3 添加国内镜像源
系统默认从docker官方镜像源Docker hub拉取镜像,在国内从Docker hub拉取镜像会比较慢,而且可能因为网络原因导致拉取失败,此时就可以配置 “国内的加速器”。国内有许多的云服务商都配置了国内镜像加速器服务。
以配置华为云容器加速器为例,如下图所示,在华为云的所有服务中,找到容器中的“容器镜像服务SWR”,

点击左侧的“镜像资源”-->“镜像中心”,然后点击右上角的“镜像加速器”,打开如下图所示的窗口,并按其中的操作说明修改/etc/docker/daemon.json文件即可。

2.4 启动并设置为开机自启动
完成上述操作后,重启docker服务,命令如下:
[root@node01 ~]# systemctl restart docker
[root@node01 ~]# systemctl enable docker三、前后端分离部署Web项目实战
以下以分布式微服务架构的开源项目(https://gitee.com/y_project/RuoYi-Cloud)为例,采用docker-compos容器编排的方式进行实战训练。
根据官方文档(http://doc.ruoyi.vip/ruoyi/)说明,该项目的系统运行环境要求如下:
- JDK >= 1.8
- MySQL >= 5.7
- Maven >= 3.0
根据官方文档信息,系统模板如下:
com.ruoyi     
├── ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]
├── ruoyi-api             // 接口模块
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common          // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-seata                        // 分布式事务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
├──pom.xml                // 公共依赖利用docker部署该项目的部署架构如下图所示。

上图中,各容器实例提供的服务简介绍如下:
- ruoyi-nginx容器实例提供HTTP反向代理和Web服务
- ruoyi-gateway容器实例网关服务
- ruoyi-auth容器实例提供认证服务
- ruoyi-nacos容器实例提供注册中心和配置中心服务
- ruoyi-modules-XXX容器实例提供系统业务功能服务
- ruoyi-mysql容器实例提供数据库服务
- ruoyi-redis容器实例提供缓存和权限认证服务
- ruoyi-visual-monitor容器实例提供系统服务状态监控服务
3.1 准备工作
3.1.1 清空环境
为避免干扰,建议清除所有已有的镜像和容器,确保执行【docker ps -a】和【docker images】命令的输出均为空,如下图所示。
[root@node01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES[root@node01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
3.1.2 下载源码
若依开源项目(前后端分离版本)源码下载地址:https://gitee.com/y_project/RuoYi-Cloud
下载该项目源码的ZIP压缩包。

解压后的文件和目录如下:

3.1.3 修改配置文件
3.1.3.1 修改ruoyi-auth配置文件
编辑源码目录\ruoyi-auth\src\main\resources下的bootstrap.yml配置文件,将其中的127.0.0.1替换成nacos容器名ruoyi-nacos,如下所示。

3.1.3.2 修改ruoyi-gateway配置文件
编辑源码目录\ruoyi-gateway\src\main\resources下的bootstrap.yml配置文件,将其中端口号为8848前面的127.0.0.1替换成nacos容器名ruoyi-nacos,端口号为8718前面的127.0.0.1替换成服务器IP地址,如下所示。

3.1.3.3 修改ruoyi-modules-file配置文件
编辑源码目录\ruoyi-modules\ruoyi-file\src\main\resources下的bootstrap.yml配置文件,将其中的127.0.0.1替换成nacos容器名ruoyi-nacos,如下所示。

3.1.3.4 修改ruoyi-modules-gen配置文件
编辑源码目录\ruoyi-modules\ruoyi-gen\src\main\resources下的bootstrap.yml配置文件,将其中的127.0.0.1替换成nacos容器名ruoyi-nacos,如下所示。

3.1.3.5 修改ruoyi-modules-job配置文件
编辑源码目录\ruoyi-modules\ruoyi-job\src\main\resources下的bootstrap.yml配置文件,将其中的127.0.0.1替换成nacos容器名ruoyi-nacos,如下所示。

3.1.3.6 修改ruoyi-modules-system配置文件
编辑源码目录\ruoyi-modules\ruoyi-system\src\main\resources下的bootstrap.yml配置文件,将其中的127.0.0.1替换成nacos容器名ruoyi-nacos,如下所示。

3.1.3.7 修改ruoyi-auth配置文件
编辑源码目录\ruoyi-visual\ruoyi-monitor\src\main\resources下的bootstrap.yml配置文件,将其中的127.0.0.1替换成nacos容器名ruoyi-nacos,如下所示。
