refactor(docker): 重构 Docker 配置以适应新项目需求

- 更新 MySQL 配置,使用新数据库名和密码
- 添加时区和字符集配置- 修改 Redis 和服务器配置
- 移除 admin 服务,添加 nginx 服务
- 更新数据源 URL 参数以优化数据库连接
This commit is contained in:
Liuyang 2025-03-07 10:32:40 +08:00
parent adbbb3dad5
commit 5290a6f6f1
2 changed files with 30 additions and 29 deletions

View File

@ -3,18 +3,26 @@ version: "3.3"
services:
mysql:
container_name: mysql
image: m.daocloud.io/docker.io/mysql
image: m.daocloud.io/docker.io/mysql:8.0.33
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
TZ: Asia/Shanghai # 时区设置
MYSQL_CHARACTER_SET_SERVER: utf8mb4
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
MYSQL_DATABASE: ${MYSQL_DATABASE:-ruoyi-vue-pro}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
volumes:
- mysql:/var/lib/mysql/
- ../../sql/mysql/ruoyi-vue-pro.sql:/docker-entrypoint-initdb.d/ruoyi-vue-pro.sql:ro
- /Users/yangliu/Desktop/xhllm.sql:/docker-entrypoint-initdb.d/ruoyi-vue-pro.sql
command: [
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci',
'--character-set-client-handshake=FALSE',
'--init-connect=SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
]
redis:
container_name: redis
image: m.daocloud.io/docker.io/redis
@ -29,9 +37,11 @@ services:
# build:
# context: ./yudao-server/
image: crpi-yaxyc8k2krkbnrmv.cn-hangzhou.personal.cr.aliyuncs.com/llm-server/xhllm-server
restart: no
restart: unless-stopped
ports:
- "48080:48080"
volumes:
- /Users/yangliu/Desktop/llm_config.yml:/app/config/llm_config.yml
environment:
# https://github.com/polovyivan/docker-pass-configs-to-container
SPRING_PROFILES_ACTIVE: local
@ -40,12 +50,13 @@ services:
-Xms512m
-Xmx512m
-Djava.security.egd=file:/dev/./urandom
-Dfile.encoding=UTF-8
}
ARGS:
--spring.datasource.dynamic.datasource.master.url=${MASTER_DATASOURCE_URL:-jdbc:mysql://mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
--spring.datasource.dynamic.datasource.master.url=${MASTER_DATASOURCE_URL:-jdbc:mysql://mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8mb4_unicode_ci}
--spring.datasource.dynamic.datasource.master.username=${MASTER_DATASOURCE_USERNAME:-root}
--spring.datasource.dynamic.datasource.master.password=${MASTER_DATASOURCE_PASSWORD:-123456}
--spring.datasource.dynamic.datasource.slave.url=${SLAVE_DATASOURCE_URL:-jdbc:mysql://mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
--spring.datasource.dynamic.datasource.slave.url=${SLAVE_DATASOURCE_URL:-jdbc:mysql://mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8mb4_unicode_ci}
--spring.datasource.dynamic.datasource.slave.username=${SLAVE_DATASOURCE_USERNAME:-root}
--spring.datasource.dynamic.datasource.slave.password=${SLAVE_DATASOURCE_PASSWORD:-123456}
--spring.redis.host=${REDIS_HOST:-redis}
@ -53,25 +64,16 @@ services:
- mysql
- redis
admin:
container_name: yudao-admin
build:
context: ./yudao-ui-admin
args:
NODE_ENV:
ENV=${NODE_ENV:-production}
PUBLIC_PATH=${PUBLIC_PATH:-/}
VUE_APP_TITLE=${VUE_APP_TITLE:-芋道管理系统}
VUE_APP_BASE_API=${VUE_APP_BASE_API:-/prod-api}
VUE_APP_APP_NAME=${VUE_APP_APP_NAME:-/}
VUE_APP_TENANT_ENABLE=${VUE_APP_TENANT_ENABLE:-true}
VUE_APP_CAPTCHA_ENABLE=${VUE_APP_CAPTCHA_ENABLE:-true}
VUE_APP_DOC_ENABLE=${VUE_APP_DOC_ENABLE:-true}
VUE_APP_BAIDU_CODE=${VUE_APP_BAIDU_CODE:-fadc1bd5db1a1d6f581df60a1807f8ab}
image: yudao-admin
restart: unless-stopped
nginx:
container_name: nginx
image: nginx:1.23.0
restart: always
ports:
- "8080:80"
- "1111:80"
- "443:443"
volumes:
- /Users/yangliu/Desktop/llm_nginx.conf:/etc/nginx/nginx.conf
- /Users/yangliu/Desktop/dist-prod:/usr/share/nginx/html/yudao-admin-ui
depends_on:
- server

View File

@ -1,13 +1,12 @@
## mysql
MYSQL_DATABASE=xhllm
MYSQL_ROOT_USERNAME=llm
MYSQL_ROOT_PASSWORD=ymxllm123#
MYSQL_DATABASE=ruoyi-vue-pro
MYSQL_ROOT_PASSWORD=123456
## server
JAVA_OPTS=-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom
MASTER_DATASOURCE_URL=jdbc:mysql://mysql:3306/${MYSQL_DATABASE}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
MASTER_DATASOURCE_USERNAME=${MYSQL_ROOT_USERNAME}
MASTER_DATASOURCE_URL=jdbc:mysql://yudao-mysql:3306/${MYSQL_DATABASE}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
MASTER_DATASOURCE_USERNAME=root
MASTER_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD}
SLAVE_DATASOURCE_URL=${MASTER_DATASOURCE_URL}
SLAVE_DATASOURCE_USERNAME=${MASTER_DATASOURCE_USERNAME}