前言
本文主要介绍如何使用docker方式部署RuoYi-Cloud(微服务),请确保您已部署Linux宿主机,并安装docker
,docker-compose
。
环境介绍
- 发行版:CentOS 7
- Linux内核版本:3.10.0-1160.el7.x86_64
- Docker版本:Docker version 24.0.5, build ced0996
- Docker Compose版本:Docker Compose version v2.20.2
正文
-
克隆ruoyi-cloud项目到本地
- 复制以下地址来克隆
ruoyi-cloud
项目到您的本地计算机:
https://gitee.com/y_project/RuoYi-Cloud.git
- 复制以下地址来克隆
-
导入项目到Idea,项目不要克隆错了,结构如图
-
根据模块名字可以看出作用,在项目中用到了mysql,ngxin,redis,nacos,这些都不需要单独去安装,首先执行package.bat脚本,自动会把需要部署的服务进行打包
4. 在idea中使用全局替换把127.0.0.1:8848替换成ruoyi-nacos:8848,然后执行package.bat脚本打包项目,可双击文件或者使用命令方式执行
- 命令:.\package.bat
- 打包完成如图:
- 把打包好的Jar拷贝到docker对于目录下去,进入docker目录执行copy.sh脚本,命令:.\copy.sh
6.检查copy结果
7.检查deploy.sh脚本,这个脚本默认是执行docker-compose,而我本地的是docker compose,这里我做了修改,所以需要注意自己的docker compose版本
8.修改docker-compose.yml脚本,我遇到过没有自动初始化表,新增命令,红框部分是我新增的
9.上传整个docker目录到Linux的/home/ruoyi/下面,如图:
10.进入docker目录,开始进行项目部署,给deploy.sh脚本添加权限,chmod +x deploy.sh
,然后执行./deploy.sh base
,此命令只会先部署3个基础服务,redis,mysql,nacos
11.检查镜像和容器是否自动创建并运行
12.检查Mysql是否自动创建表,宿主机IP+暴露端口
13.检查Nacos,访问宿主机IP+8848
14.部署系统模块,执行./deploy.sh modules
,mysql
和redis
前面已经部署了,所以这儿下载镜像时提示已存在,容器状态是Running
15.检查部署情况,可以看到容器ruoyi-modules-system未启动成功
16.失败原因,修改nacos配置即可,修改ruoyi-system-dev.yml
中的redis host地址为ruoyi-redis,mysql密码为root,然后使用docker start ruoyi-modules-system
进行启动
17.未完待续…