fix(config): Correct three-node HA orchestration and Nacos config loading

This commit is contained in:
2026-04-18 21:01:43 +08:00
parent 9ac4c40d1d
commit 9275fa238d
8 changed files with 106 additions and 28 deletions
+35 -11
View File
@@ -15,9 +15,6 @@ services:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123456}
MYSQL_DATABASE: ${MYSQL_DATABASE:-video_platform}
MYSQL_USER: ${MYSQL_USER:-video}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-video123}
volumes:
- mysql_data:/var/lib/mysql
# - ./sql:/docker-entrypoint-initdb.d # 从节点不需要初始化脚本,数据从主库同步
@@ -86,7 +83,7 @@ services:
- NACOS_SERVER_IP=${HOST_IP:-192.168.1.102}
- NACOS_APPLICATION_PORT=8848
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=mysql
- MYSQL_SERVICE_HOST=192.168.1.101
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_DB_NAME=nacos_config
- MYSQL_SERVICE_USER=root
@@ -210,7 +207,7 @@ services:
container_name: node-exporter
restart: always
ports:
- "9100:9100"
- "19100:9100"
command:
- --path.procfs=/host/proc
- --path.sysfs=/host/sys
@@ -245,7 +242,12 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
- REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
- NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848}
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- USER_JWT_SECRET=${USER_JWT_SECRET}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
@@ -278,12 +280,15 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- MYSQL_HOST=mysql
- MYSQL_HOST=192.168.1.101
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
- REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- USER_JWT_SECRET=${USER_JWT_SECRET}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
@@ -320,12 +325,18 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- MYSQL_HOST=mysql
- MYSQL_HOST=192.168.1.101
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
- REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
- MINIO_BUCKET=${MINIO_BUCKET}
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- USER_JWT_SECRET=${USER_JWT_SECRET}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
@@ -362,7 +373,7 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- MYSQL_HOST=mysql
- MYSQL_HOST=192.168.1.101
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
@@ -375,6 +386,9 @@ services:
- MINIO_ACCESS_KEY=minioadmin
- MINIO_SECRET_KEY=minioadmin123
- MINIO_BUCKET=video-platform
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- USER_JWT_SECRET=${USER_JWT_SECRET}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
@@ -415,12 +429,15 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- MYSQL_HOST=mysql
- MYSQL_HOST=192.168.1.101
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
- REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- USER_JWT_SECRET=${USER_JWT_SECRET}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
@@ -457,12 +474,15 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- MYSQL_HOST=mysql
- MYSQL_HOST=192.168.1.101
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
- REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- USER_JWT_SECRET=${USER_JWT_SECRET}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
@@ -499,12 +519,16 @@ services:
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos
- SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102}
- MYSQL_HOST=mysql
- MYSQL_HOST=192.168.1.101
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
- REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
- ADMIN_JWT_SECRET=${ADMIN_JWT_SECRET}
- ADMIN_INIT_PASSWORD=${ADMIN_INIT_PASSWORD}
- JWT_EXPIRATION=${JWT_EXPIRATION}
- SENTINEL_DASHBOARD_HOST=192.168.1.101
- SENTINEL_DASHBOARD_PORT=8880
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}