From 5290a6f6f1603ec27b37e3cdb69d1a3fd75325b9 Mon Sep 17 00:00:00 2001 From: Liuyang <2746366019@qq.com> Date: Fri, 7 Mar 2025 10:32:40 +0800 Subject: [PATCH] =?UTF-8?q?refactor(docker):=20=E9=87=8D=E6=9E=84=20Docker?= =?UTF-8?q?=20=E9=85=8D=E7=BD=AE=E4=BB=A5=E9=80=82=E5=BA=94=E6=96=B0?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 MySQL 配置,使用新数据库名和密码 - 添加时区和字符集配置- 修改 Redis 和服务器配置 - 移除 admin 服务,添加 nginx 服务 - 更新数据源 URL 参数以优化数据库连接 --- script/docker/docker-compose.yml | 50 +++++++++++++++++--------------- script/docker/docker.env | 9 +++--- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/script/docker/docker-compose.yml b/script/docker/docker-compose.yml index e5540409f..a10c49122 100644 --- a/script/docker/docker-compose.yml +++ b/script/docker/docker-compose.yml @@ -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 diff --git a/script/docker/docker.env b/script/docker/docker.env index 63f4276f6..fd19405da 100644 --- a/script/docker/docker.env +++ b/script/docker/docker.env @@ -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}