一、安装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
#如果报错:File '/usr/share/keyrings/docker-archive-keyring.gpg' exists. Overwrite? (y/N) curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443
#使用阿里云镜像
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#如果提示文件已存在,先删除,再运行上方命令
sudo rm /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.io
CentOS/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=root
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
management.endpoints.web.exposure.include=*
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=/home/ruoyi/nacos/tomcat/logs
nacos.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=security
nacos.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-gateway
profiles:
# 环境配置
active: dev
cloud:
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-system
profiles:
# 环境配置
active: dev
cloud:
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/db
copy 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/jar
echo "begin copy ruoyi-auth "
cp ../ruoyi-auth/target/ruoyi-auth.jar ./ruoyi/auth/jar
echo "begin copy ruoyi-visual "
cp ../ruoyi-visual/ruoyi-monitor/target/ruoyi-visual-monitor.jar ./ruoyi/visual/monitor/jar
echo "begin copy ruoyi-modules-system "
cp ../ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ./ruoyi/modules/system/jar
echo "begin copy ruoyi-modules-file "
cp ../ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar ./ruoyi/modules/file/jar
echo "begin copy ruoyi-modules-job "
cp ../ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar ./ruoyi/modules/job/jar
echo "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 --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9848/tcp --permanent
firewall-cmd --add-port=9849/tcp --permanent
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=3306/tcp --permanent
service 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-nacos
image: nacos/nacos-server:v2.2.0
pull_policy: never # 禁止拉取镜像,强制使用本地
build:
context: ./nacos
environment:
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql # 若使用外置数据库
volumes:
- ./nacos/logs/:/home/nacos/logs
- ./nacos/conf/application.properties:/home/nacos/conf/application.properties
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
depends_on:
- ruoyi-mysql
#如果是使用外部mysql数据库就注释掉ruoyi-mysql配置
ruoyi-mysql:
container_name: ruoyi-mysql
image: mysql:5.7
build:
context: ./mysql
ports:
- "3306:3306"
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
command: [
'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: root
ruoyi-redis:
container_name: ruoyi-redis
image: redis
pull_policy: never # 禁止拉取镜像,强制使用本地
build:
context: ./redis
ports:
- "6379:6379"
volumes:
- ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf
- ./redis/data:/data
command: redis-server /home/ruoyi/redis/redis.conf
ruoyi-nginx:
container_name: ruoyi-nginx
image: nginx
pull_policy: never # 禁止拉取镜像,强制使用本地
build:
context: ./nginx
ports:
- "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.d
depends_on:
- ruoyi-gateway
links:
- ruoyi-gateway
ruoyi-gateway:
container_name: ruoyi-gateway
pull_policy: always
build:
context: ./ruoyi/gateway
dockerfile: dockerfile
ports:
- "9301:9301"
depends_on:
- ruoyi-redis
- ruoyi-nacos
links:
- ruoyi-redis
- ruoyi-nacos
environment: #改为东八区时区
- TZ=Asia/Shanghai
healthcheck: #取消校验,启动镜像时速度会快一点
test: ["CMD", "curl", "-f", "http://localhost:9301/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ruoyi-auth:
container_name: ruoyi-auth
pull_policy: always
build:
context: ./ruoyi/auth
dockerfile: dockerfile
ports:
- "9300:9300"
depends_on:
- ruoyi-redis
- ruoyi-nacos
links:
- ruoyi-redis
- ruoyi-nacos
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9300/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ruoyi-modules-system:
container_name: ruoyi-modules-system
pull_policy: always
build:
context: ./ruoyi/modules/system
dockerfile: dockerfile
ports:
- "9302:9302"
depends_on:
- ruoyi-redis
- ruoyi-nacos
links:
- ruoyi-redis
- ruoyi-nacos
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9302/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ruoyi-modules-gen:
container_name: ruoyi-modules-gen
build:
context: ./ruoyi/modules/gen
dockerfile: dockerfile
ports:
- "9303:9303"
depends_on:
- ruoyi-mysql
links:
- ruoyi-mysql
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9304/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ruoyi-modules-job:
container_name: ruoyi-modules-job
pull_policy: always
build:
context: ./ruoyi/modules/job
dockerfile: dockerfile
ports:
- "9310:9310"
depends_on:
- ruoyi-nacos
links:
- ruoyi-nacos
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9310/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ruoyi-modules-file:
container_name: ruoyi-modules-file
pull_policy: always
build:
context: ./ruoyi/modules/file
dockerfile: dockerfile
ports:
- "9306:9306"
volumes:
- ./ruoyi/uploadPath:/home/ruoyi/uploadPath
depends_on:
- ruoyi-redis
- ruoyi-nacos
links:
- ruoyi-redis
- ruoyi-nacos
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9306/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ruoyi-visual-monitor:
container_name: ruoyi-visual-monitor
build:
context: ./ruoyi/visual/monitor
dockerfile: dockerfile
ports:
- "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.0
docker pull redis:latest
docker 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-x
2.转换文件格式(修复 CRLF 问题)
# 安装 dos2unix 工具(如未安装)
sudo apt-get install dos2unix # Debian/Ubuntu
sudo yum install dos2unix # CentOS/RHEL
# 转换文件格式
dos2unix deploy.sh
3.验证并修复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-gateway
docker-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.sh
sh system.sh
naocs中服务的配置文件:
ruoyi-gateway-dev.yml
spring:
redis:
host: ruoyi-redis
port: 6379
password:
cloud:
gateway:
discovery:
locator:
lowerCaseServiceId: true
enabled: true
routes:
# 认证中心
- id: ruoyi-auth
uri: lb://ruoyi-auth
predicates:
- Path=/auth/**
filters:
# 验证码处理
- CacheRequestFilter
- ValidateCodeFilter
- StripPrefix=1
# 代码生成
- id: ruoyi-gen
uri: lb://ruoyi-gen
predicates:
- Path=/code/**
filters:
- StripPrefix=1
# 定时任务
- id: ruoyi-job
uri: lb://ruoyi-job
predicates:
- Path=/schedule/**
filters:
- StripPrefix=1
# 系统模块
- id: ruoyi-system
uri: lb://ruoyi-system
predicates:
- Path=/system/**
filters:
- StripPrefix=1
# 文件服务
- id: ruoyi-file
uri: lb://ruoyi-file
predicates:
- Path=/file/**
filters:
- StripPrefix=1
# 安全配置
security:
# 验证码
captcha:
enabled: true
type: math
# 防止XSS攻击
xss:
enabled: true
excludeUrls:
- /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: 6379
password:
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: ruoyi
loginPassword: 123456
dynamic:
druid:
initial-size: 5
min-idle: 5
maxActive: 40
maxWait: 60000
connectTimeout: 30000
socketTimeout: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,slf4j
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
# 主库数据源
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: 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%2B8
username: root
password: root
# 从库数据源
# slave:
# username:
# password:
# url:
# driver-class-name:
# mybatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.system
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath:mapper/**/*.xml