若依微服务框架在docker-compose中部署
一、安装docker
1. 卸载旧版本
# Ubuntu/Debian
sudo apt remove docker docker-engine docker.io containerd runc# CentOS/RHEL
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装工具
# Ubuntu/Debian
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release# CentOS/RHEL
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. 安装docker仓库
# Ubuntu/Debian
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 安装Docker引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.ioCentOS/RHEL
#添加Docker仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装Docker引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
4. 配置与优化
#启动Docker服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker#将当前用户加入docker组(避免频繁使用sudo)
sudo usermod -aG docker $USER
newgrp docker # 立即生效或重新登录系
配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
修改daemon.json添加下方各种加速器地址
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://docker.wanpeng.top","https://registry.docker-cn.com","https://mirror.ccs.tencentyun.com","https://mr63yffu.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://docker.domys.cc"]
}
# 重启Docker服务生效
sudo systemctl daemon-reload
sudo systemctl restart docker
5. 验证安装
docker --version
# 输出示例:Docker version 24.0.7, build afdd53b
sudo systemctl start docker # 启动 docker 服务:
sudo systemctl stop docker # 停止 docker 服务:
sudo systemctl status docker # 查看 docker 服务状态
sudo systemctl restart docker # 重启 docker 服务
二、IDEA中修改若依框架中的docker配置
1. docker文件夹目录
docker
├── mysql // 数据库
│ └── db // 数据库脚本
│ └── dockerfile // mysql dockerfile
├── nacos // 注册中心/配置中心
│ └── conf // nacos 配置文件
│ └── dockerfile // nacos dockerfile
├── nginx // web服务器
│ └── conf // nginx 配置文件
│ └── html // 打包后的前端ui
│ └── dockerfile // nginx dockerfile
├── redis // 缓存服务
│ └── conf // redis 配置文件
│ └── dockerfile // redis dockerfile
├── ruoyi // 业务模块
│ └── auth // 认证中心 dockerfile jar
│ └── gateway // 网关模块 dockerfile jar
│ └── modules // 业务模块 dockerfile jar
│ └── visual // 图形化管理模块 dockerfile jar
│── copy.sh // 拷贝jar包到docker文件中的脚本
├── deploy.sh // 部署脚本
├── docker-compose.yml // docker-compose
2. 各种配置的文件内容
mysql的dockerfile文件:mysql:5.7中的5.7为数据库版本号,修改为项目所需版本
# 基础镜像
FROM mysql:5.7
# author
MAINTAINER ruoyi# 执行sql脚本
ADD ./db/*.sql /docker-entrypoint-initdb.d/
nacos的dockerfile文件
# 基础镜像
FROM nacos/nacos-server
# author
MAINTAINER ruoyi# 复制conf文件到路径
COPY ./conf/application.properties /home/nacos/conf/application.properties
修改nacos/conf/application.properties文件中的数据库连接配置
如果使用docker中的mysql数据库镜像就使用ruoyi-mysql,如果使用外部mysql数据库就使用ip
spring.datasource.platform=mysql
db.num=1
#docker内部数据库
#db.url.0=jdbc:mysql://ruoyi-mysql:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
#db.user=root
#db.password=password
#docker外部数据库
db.url.0=jdbc:mysql://192.168.1.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=rootnacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000management.endpoints.web.exposure.include=*management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=falseserver.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}iserver.tomcat.basedir=/home/ruoyi/nacos/tomcat/logsnacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=securitynacos.istio.mcp.server.enabled=false
nginx的dockerfile文件
# 基础镜像
FROM nginx
# author
MAINTAINER ruoyi# 挂载目录
VOLUME /home/ruoyi/projects/ruoyi-ui
# 创建目录
RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
# 指定路径
WORKDIR /home/ruoyi/projects/ruoyi-ui
# 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./html/dist /home/ruoyi/projects/ruoyi-ui
如果部署vue前端就修改nginx/conf/nginx.conf文件
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root /home/ruoyi/projects/ruoyi-ui;#前端vue项目的服务器位置try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/{proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://ruoyi-gateway:8080/;#网关地址}# 避免actuator暴露if ($request_uri ~ "/actuator") {return 403;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
redis的dockerfile文件
# 基础镜像
FROM redis
# author
MAINTAINER ruoyi# 挂载目录
VOLUME /home/ruoyi/redis
# 创建目录
RUN mkdir -p /home/ruoyi/redis
# 指定路径
WORKDIR /home/ruoyi/redis
# 复制conf文件到路径
COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf
ruoyi/gateway的dockerfile文件
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi# 设置构建参数强制不使用缓存
ARG CACHEBUST=1# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-gateway.jar /home/ruoyi/ruoyi-gateway.jar
# 启动网关服务
ENTRYPOINT ["java","-Xms512m", "-Xmx1024m","-jar","ruoyi-gateway.jar"]
gateway的bootstrap.yml文件
# Tomcat
server:port: 8080 #本地# Spring
spring: application:# 应用名称name: ruoyi-gatewayprofiles:# 环境配置active: devcloud:nacos:discovery:# 服务注册地址#server-addr: 127.0.0.1:8848 #本地server-addr: ruoyi-nacos:8848 #服务器docker#server-addr: mse-xxxxxxxx-nacos-ans.mse.aliyuncs.com:8848 #阿里云服务器config:# 配置中心地址#server-addr: 127.0.0.1:8848 #本地server-addr: ruoyi-nacos:8848 #服务器docker#server-addr: mse-xxxxxxxx-nacos-ans.mse.aliyuncs.com:8848 #阿里云服务器# 配置文件格式file-extension: yml# 共享配置shared-configs:- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
ruoyi/modules/system的dockerfile文件
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi# 设置构建参数强制不使用缓存
ARG CACHEBUST=1# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-modules-system.jar /home/ruoyi/ruoyi-modules-system.jar
# 启动文件服务
ENTRYPOINT ["java","-Xms512m", "-Xmx1024m","-jar","ruoyi-modules-system.jar"]
gateway的bootstrap.yml文件
# Tomcat
server:port: 9201 #本地# Spring
spring: application:# 应用名称name: ruoyi-systemprofiles:# 环境配置active: devcloud:nacos:discovery:# 服务注册地址#server-addr: 127.0.0.1:8848 #本地server-addr: ruoyi-nacos:8848 #服务器docker#server-addr: mse-xxxxxxxx-nacos-ans.mse.aliyuncs.com:8848 #阿里云服务器config:# 配置中心地址#server-addr: 127.0.0.1:8848 #本地server-addr: ruoyi-nacos:8848 #服务器docker#server-addr: mse-xxxxxxxx-nacos-ans.mse.aliyuncs.com:8848 #阿里云服务器# 配置文件格式file-extension: yml# 共享配置shared-configs:- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
其余的服务按照gateway和system服务更改。
使用maven打包之后,可以手动把jar放到docker/ruoyi对应服务文件的jar目录下,也可以运行copy.sh脚本
copy.sh脚本文件
#!/bin/sh# 复制项目的文件到对应docker路径,便于一键生成镜像。
usage() {echo "Usage: sh copy.sh"exit 1
}# copy sql
#echo "begin copy sql "
#cp ../sql/ry_20240629.sql ./mysql/db
#cp ../sql/ry_config_20240902.sql ./mysql/dbcopy html
echo "begin copy html "
cp -r ../ruoyi-ui/dist/** ./nginx/html/dist# copy jar
echo "begin copy ruoyi-gateway "
cp ../ruoyi-gateway/target/ruoyi-gateway.jar ./ruoyi/gateway/jarecho "begin copy ruoyi-auth "
cp ../ruoyi-auth/target/ruoyi-auth.jar ./ruoyi/auth/jarecho "begin copy ruoyi-visual "
cp ../ruoyi-visual/ruoyi-monitor/target/ruoyi-visual-monitor.jar ./ruoyi/visual/monitor/jarecho "begin copy ruoyi-modules-system "
cp ../ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ./ruoyi/modules/system/jarecho "begin copy ruoyi-modules-file "
cp ../ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar ./ruoyi/modules/file/jarecho "begin copy ruoyi-modules-job "
cp ../ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar ./ruoyi/modules/job/jarecho "begin copy ruoyi-modules-gen "
cp ../ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar ./ruoyi/modules/gen/jar
deploy.sh脚本文件
#!/bin/sh# 使用说明,用来提示输入参数
usage() {echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm]"exit 1
}# 开启所需服务端口
port(){firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --add-port=8080/tcp --permanentfirewall-cmd --add-port=8848/tcp --permanentfirewall-cmd --add-port=9848/tcp --permanentfirewall-cmd --add-port=9849/tcp --permanentfirewall-cmd --add-port=6379/tcp --permanentfirewall-cmd --add-port=3306/tcp --permanentservice firewalld restart
}# 启动基础环境(必须)
base(){docker-compose up -d ruoyi-redis ruoyi-nacos
}# 启动程序模块(必须)
modules(){docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system ruoyi-modules-file ruoyi-modules-job ruoyi-modules-gen
}# 关闭所有环境/模块
stop(){#停止启动的所有服务#docker-compose stop #停止指定服务docker-compose stop ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system ruoyi-modules-file ruoyi-modules-job ruoyi-modules-gen
}# 删除所有环境/模块
rm(){#删除所有服务#docker-compose rm#删除指定服务docker-compose rm ruoyi-gateway ruoyi-auth
}# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"port")port
;;
"base")base
;;
"modules")modules
;;
"stop")stop
;;
"rm")rm
;;
*)usage
;;
esac
docker-compose.yml文件
version : '3.8' #v1.x版需要指定version, v2.x版不需要指定
services:ruoyi-nacos:container_name: ruoyi-nacosimage: nacos/nacos-server:v2.2.0pull_policy: never # 禁止拉取镜像,强制使用本地build:context: ./nacosenvironment:- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql # 若使用外置数据库volumes:- ./nacos/logs/:/home/nacos/logs- ./nacos/conf/application.properties:/home/nacos/conf/application.propertiesports:- "8848:8848"- "9848:9848"- "9849:9849"depends_on:- ruoyi-mysql#如果是使用外部mysql数据库就注释掉ruoyi-mysql配置ruoyi-mysql:container_name: ruoyi-mysqlimage: mysql:5.7build:context: ./mysqlports:- "3306:3306"volumes:- ./mysql/conf:/etc/mysql/conf.d- ./mysql/logs:/logs- ./mysql/data:/var/lib/mysqlcommand: ['mysqld','--innodb-buffer-pool-size=80M','--character-set-server=utf8mb4','--collation-server=utf8mb4_unicode_ci','--default-time-zone=+8:00','--lower-case-table-names=1']environment:MYSQL_DATABASE: 'ry-cloud'MYSQL_ROOT_PASSWORD: rootruoyi-redis:container_name: ruoyi-redisimage: redispull_policy: never # 禁止拉取镜像,强制使用本地build:context: ./redisports:- "6379:6379"volumes:- ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf- ./redis/data:/datacommand: redis-server /home/ruoyi/redis/redis.confruoyi-nginx:container_name: ruoyi-nginximage: nginxpull_policy: never # 禁止拉取镜像,强制使用本地build:context: ./nginxports:- "80:80"volumes:- ./nginx/html/dist:/home/ruoyi/projects/ruoyi-ui- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf- ./nginx/logs:/var/log/nginx- ./nginx/conf.d:/etc/nginx/conf.ddepends_on:- ruoyi-gatewaylinks:- ruoyi-gatewayruoyi-gateway:container_name: ruoyi-gatewaypull_policy: alwaysbuild:context: ./ruoyi/gatewaydockerfile: dockerfileports:- "9301:9301"depends_on:- ruoyi-redis- ruoyi-nacoslinks:- ruoyi-redis- ruoyi-nacosenvironment: #改为东八区时区- TZ=Asia/Shanghaihealthcheck: #取消校验,启动镜像时速度会快一点test: ["CMD", "curl", "-f", "http://localhost:9301/actuator/health"]interval: 30stimeout: 10sretries: 3start_period: 20sruoyi-auth:container_name: ruoyi-authpull_policy: alwaysbuild:context: ./ruoyi/authdockerfile: dockerfileports:- "9300:9300"depends_on:- ruoyi-redis- ruoyi-nacoslinks:- ruoyi-redis- ruoyi-nacosenvironment:- TZ=Asia/Shanghaihealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9300/actuator/health"]interval: 30stimeout: 10sretries: 3start_period: 20sruoyi-modules-system:container_name: ruoyi-modules-systempull_policy: alwaysbuild:context: ./ruoyi/modules/systemdockerfile: dockerfileports:- "9302:9302"depends_on:- ruoyi-redis- ruoyi-nacoslinks:- ruoyi-redis- ruoyi-nacosenvironment:- TZ=Asia/Shanghaihealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9302/actuator/health"]interval: 30stimeout: 10sretries: 3start_period: 20sruoyi-modules-gen:container_name: ruoyi-modules-genbuild:context: ./ruoyi/modules/gendockerfile: dockerfileports:- "9303:9303"depends_on:- ruoyi-mysqllinks:- ruoyi-mysqlenvironment:- TZ=Asia/Shanghaihealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9304/actuator/health"]interval: 30stimeout: 10sretries: 3start_period: 20sruoyi-modules-job:container_name: ruoyi-modules-jobpull_policy: alwaysbuild:context: ./ruoyi/modules/jobdockerfile: dockerfileports:- "9310:9310"depends_on:- ruoyi-nacoslinks:- ruoyi-nacosenvironment:- TZ=Asia/Shanghaihealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9310/actuator/health"]interval: 30stimeout: 10sretries: 3start_period: 20sruoyi-modules-file:container_name: ruoyi-modules-filepull_policy: alwaysbuild:context: ./ruoyi/modules/filedockerfile: dockerfileports:- "9306:9306"volumes:- ./ruoyi/uploadPath:/home/ruoyi/uploadPathdepends_on:- ruoyi-redis- ruoyi-nacoslinks:- ruoyi-redis- ruoyi-nacosenvironment:- TZ=Asia/Shanghaihealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9306/actuator/health"]interval: 30stimeout: 10sretries: 3start_period: 20sruoyi-visual-monitor:container_name: ruoyi-visual-monitorbuild:context: ./ruoyi/visual/monitordockerfile: dockerfileports:- "9100:9100"#其他服务的配置和上方一致
3.使用maven打包,将jar包放到对应文件夹的jar目录下,把docker整个目录上传到服务器home目录下。
4.运行docker/docker-compose命令
先在docker中下载jdk、nacos、redis和nginx
docker pull openjdk:8-jre#docker pull nacos/nacos-server:v2.0.4
docker pull nacos/nacos-server:v2.2.0docker pull redis:latestdocker pull nginx:latest
启动服务docker镜像
进入docker目录,如果不是root账号可以 sudo -i ,输入当前账号密码切换成root账号
cd /home/docker
先启动nacos和redis,等待nacos启动成功(一分钟左右),再启动其他服务
http://ip:8848/nacos/
账号:nacos
密码:nacos
./deploy.sh base
./deploy.sh modules
若依项目部署docker时输入./deploy.sh base
提示-bash: ./deploy.sh: Permission denied
sudo chmod -R 777 /home/docker
-bash: ./deploy.sh: cannot execute: required file not found
1.检查并修复文件权限
# 进入脚本目录(假设脚本在若依项目的 docker 目录下)
cd ruoyi-project/docker# 赋予执行权限
chmod +x deploy.sh# 验证权限是否生效
ls -l deploy.sh
# 正确输出应包含 x 标志,如:-rwxr-xr-x2.转换文件格式(修复 CRLF 问题)
# 安装 dos2unix 工具(如未安装)
sudo apt-get install dos2unix # Debian/Ubuntu
sudo yum install dos2unix # CentOS/RHEL# 转换文件格式
dos2unix deploy.sh3.验证并修复Shebang 行
# 检查首行解释器路径
head -1 deploy.sh
# 应输出:#!/bin/sh 或 #!/usr/bin/env sh# 如果系统中没有 /bin/sh,修改为通用路径
sudo sed -i '1s|#!/bin/sh|#!/usr/bin/env sh|g' deploy.sh
重启时,需要先停止镜像,再删除docker-compose内镜像再删除docker中镜像,再启动
#查看docker镜像log日志
docker-compose logs ruoyi-gatewaydocker-compose logs ruoyi-modules-system#停止docker-compose中的镜像
./deploy.sh stop #全部停止
docker-compose stop ruoyi-gateway ruoyi-modules-system #删除指定#删除docker-compose中的镜像
./deploy.sh rm #全部删除
docker-compose rm ruoyi-gateway ruoyi-modules-system #删除指定#删除docker中的镜像
docker rmi -f $(docker images | grep ruoyi-modules-system | awk '{print $3}')
docker rmi -f $(docker images | grep ruoyi-gateway | awk '{print $3}')
或者直接在docker目录下新建ssh脚本文件,如 system.sh 脚本文件
#!/bin/bash# 停止
docker-compose stop cmf-modules-system
# 再删除
docker-compose rm -f cmf-modules-system
# 删除旧镜像
docker rmi -f $(docker images | grep cmf-modules-system | awk '{print $3}')
# 启动
docker-compose up -d cmf-modules-system
先转换文件格式,再运行脚本
dos2unix system.shsh system.sh
naocs中服务的配置文件:
ruoyi-gateway-dev.yml
spring:redis:host: ruoyi-redisport: 6379password: cloud:gateway:discovery:locator:lowerCaseServiceId: trueenabled: trueroutes:# 认证中心- id: ruoyi-authuri: lb://ruoyi-authpredicates:- Path=/auth/**filters:# 验证码处理- CacheRequestFilter- ValidateCodeFilter- StripPrefix=1# 代码生成- id: ruoyi-genuri: lb://ruoyi-genpredicates:- Path=/code/**filters:- StripPrefix=1# 定时任务- id: ruoyi-joburi: lb://ruoyi-jobpredicates:- Path=/schedule/**filters:- StripPrefix=1# 系统模块- id: ruoyi-systemuri: lb://ruoyi-systempredicates:- Path=/system/**filters:- StripPrefix=1# 文件服务- id: ruoyi-fileuri: lb://ruoyi-filepredicates:- Path=/file/**filters:- StripPrefix=1# 安全配置
security:# 验证码captcha:enabled: truetype: math# 防止XSS攻击xss:enabled: trueexcludeUrls:- /system/notice# 不校验白名单ignore:whites:- /auth/logout- /auth/login- /auth/register- /*/v2/api-docs- /*/v3/api-docs- /csrf# springdoc配置
springdoc:webjars:# 访问前缀prefix:
ruoyi-system-dev.yml
# spring配置
spring:redis:host: ruoyi-redis#host: r-阿里云redis内网.redis.rds.aliyuncs.com #阿里云redis内网地址port: 6379password: datasource:druid:stat-view-servlet:enabled: trueloginUsername: ruoyiloginPassword: 123456dynamic:druid:initial-size: 5min-idle: 5maxActive: 40maxWait: 60000connectTimeout: 30000socketTimeout: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20filters: stat,slf4jconnectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000datasource:# 主库数据源master:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://ip:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8#url: jdbc:mysql://ruoyi-mysql::3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8#url: jdbc:mysql://rm-阿里云mysql内网.mysql.rds.aliyuncs.com:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: root# 从库数据源# slave:# username: # password: # url: # driver-class-name: # mybatis配置
mybatis:# 搜索指定包别名typeAliasesPackage: com.ruoyi.system# 配置mapper的扫描,找到所有的mapper.xml映射文件mapperLocations: classpath:mapper/**/*.xml