在这里插入图片描述
从上面官网的介绍中,可以看到若依是一套提供了权限管理、代码生成的框架;之前一直使用的springboot ,最近也是因为业务需求,开始用springcloud 。本地运行的,只要在本地启动了nacos ,大致上是没什么问题,但是我部署上服务器,就遇见ruoyi-auth无法注册到 nacos服务中,各种尝试之后,终于可以,接下来就是我操作的步骤;这里的docker-compose 文件是使用的

https://gitcode.net/hjue/ruoyi-cloud-docker/ 多鱼的夏天

中docker 文件夹的内容,但是由于直接使用这个代码,执行sh deploy.sh modules 会一直报java版本的错。也结合了官网的docker文件
在这里插入图片描述
文件目录是这样的
下面来介绍具体的目录

准备工作

1、准备一台服务器,我使用的服务器是4核8G的,跑了所有的组件以及自己的业务部分
2、服务器选择centos,在服务器上安装jdk,(切记不要只安装jdk,其他的都不要安装),我安装的是jdk11,命令如下

yum install -y java-11-openjdk

3、安装docker

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装
yum install -y docker-ce
启动docker
systemctl start docker

#查看服务是否自动启动(是:enabled | 否:disabled)
systemctl list-unit-files|grep docker.service 

#设置开机启动:如不是enabled可以运行如下命令设置自启动
systemctl enable docker
#重新加载服务配置
systemctl daemon-reload 

#如果希望不进行自启动,运行如下命令设置
systemctl disable docker
#重新加载服务配置
systemctl daemon-reload 

4、安装docker-compose

pip3 install --upgrade pip
pip3 install docker-compose

如何验证版本,可以使用

docker version
docker-compose version

修改docker 文件夹的内容

这里主要是设置 mysql 的密码、导入的sql文件、加入新的业务模块

设置nacos的数据库 以及mysql的账号密码

在这里插入图片描述

在copy.h 中设置copy 的sql 和 业务部分的jar

在这里插入图片描述
复制一个这样的代码

echo "begin copy ruoyi-modules-gen "
cp ../ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar ./ruoyi/modules/gen/jar

然后修改为自己业务部分的名称

修改deploy.h

在port()中添加业务部分的端口,将9300 换成定义的业务端口

	firewall-cmd --add-port=9300/tcp --permanent

在modules 中加入自己的业务模块,在后面追加模块名

modules(){
	docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system
}

如果你的新的业务模块名是。ruoyi-modules-business,就将modules 中的内容修改为

modules(){
	docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system ruoyi-modules-business
}

ruoyi ——modules 加入新的业务模块,复制modules下的任意一个文件夹,修改其中的dockerfile

# 基础镜像
FROM  openjdk:8-jre
# author
MAINTAINER ruoyi

# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-modules-system.jar /home/ruoyi/ruoyi-modules-system.jar
# 这里的system 换成自己的业务名
# 启动系统服务
ENTRYPOINT ["java","-jar","ruoyi-modules-system.jar"]
# 这里的system 换成自己的业务名

修改docker-compose 文件

在这里插入图片描述
找到mysql ,将 MYSQL_DATABASE 换成自己定义的数据库名称,对应的是ruoyi-cloud 数据库

复制下面的内容,为新的模块配置

  ruoyi-modules-job:
    container_name: ruoyi-modules-job
    build:
      context: ./ruoyi/modules/job
      dockerfile: dockerfile
    ports:
      - "9203:9203"
    env_file:
      - ./env/ruoyi-service.env
    depends_on:
      - ruoyi-redis
      - ruoyi-mysql
      - ruoyi-nacos

job部分换成自己的业务名,端口部分换掉

在sql文件夹中 放入自己定义的数据库名称

如果你没有将ruoyi的数据库改成自己的数据库名称,那么这一步是没有必要的,如果有,那么只要保证里面放入的数据库名称 和图中的一致,但是如果你是直接复制ry-config数据库的话,那在文件中,将ry-config 修改自己的数据库名称

在这里插入图片描述

DROP DATABASE IF EXISTS `layman_config`;

CREATE DATABASE  `layman_config` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

USE `layman_config`;

接下来就是最重要的部分,找到java 代码部分的所有bootstrap.yml中图中的代码部分

在这里插入图片描述
将server-addr部分换成服务器的地址,不能使用127.0.0.1 (就是这里会造成服务无法在nacos中注册)

打包

生成jar

点击maven 中的install ,生成所有所有jar

执行sh copy.sh

在idea 中的终端,输入sh copy.sh 将文件copy到docker 文件中

将docker 拷贝到服务器上,按照步骤来

在docker 文件中打开终端,执行 sh deploy.sh base

安装成功之后 ,进入nacos 管理页面
在这里插入图片描述

修改配置页面中的 redis地址,也不能使用localhost,而是将localhost 换成ruoyi-redis

在这里插入图片描述
ruoyi-system-dev 中数据库也改成对应数据库的
在这里插入图片描述
然后再回到终端中,执行 sh deploy.sh modules 就可以成功了。
下面把初版本中的docker文件打包,可以根据这个最初版本进行修改
docker文件下载

Logo

快速构建 Web 应用程序

更多推荐