fix(config): Correct Sentinel container IP configuration

This commit is contained in:
2026-03-14 17:44:08 +08:00
parent e9120d2270
commit 9353f49045
3 changed files with 43 additions and 4 deletions
+29 -4
View File
@@ -264,7 +264,7 @@ docker exec mysql mysql -uroot -proot123456 -e "SHOW DATABASES;"
#### 在 Node-01 (主节点) 创建复制用户
```bash
docker exec mysql mysql -uroot -proot123456 << 'EOF'
docker exec -i mysql mysql -uroot -proot123456 << 'EOF'
CREATE USER IF NOT EXISTS 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'repl_password_2024';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
@@ -276,7 +276,7 @@ EOF
```bash
# 在 Node-02 执行
docker exec mysql mysql -uroot -proot123456 << 'EOF'
docker exec -i mysql mysql -uroot -proot123456 << 'EOF'
CHANGE MASTER TO
MASTER_HOST='192.168.1.101',
MASTER_USER='repl',
@@ -289,12 +289,12 @@ EOF
# 确认 Slave_IO_Running 和 Slave_SQL_Running 都为 Yes
# 配置完成后,启用只读模式 (重要!)
docker exec mysql mysql -uroot -proot123456 -e "SET GLOBAL read_only = ON; SET GLOBAL super_read_only = ON;"
docker exec mysql mysql -uroot -proot123456 -e "SET GLOBAL read_only = ON; SET GLOBAL super_read_only = ON;"
```
```bash
# 在 Node-03 执行 (同上)
docker exec mysql mysql -uroot -proot123456 << 'EOF'
docker exec -i mysql mysql -uroot -proot123456 << 'EOF'
CHANGE MASTER TO
MASTER_HOST='192.168.1.101',
MASTER_USER='repl',
@@ -673,6 +673,31 @@ video-gateway:
**验证**:重启微服务后,Nacos 控制台应显示真实宿主机 IP(如 `192.168.1.101:9000`、`192.168.1.102:9000`)
### Q13: Sentinel 控制台显示容器内部 IP 或实例失联
**问题描述**:
- Sentinel 控制台显示机器列表 IP 为 `172.18.0.x` 等 Docker 内部 IP
- 部分实例显示"失联"状态,健康实例数不正确
- 跨节点无法进行限流降级
**原因**:与 Nacos 问题类似,Sentinel 客户端使用容器内部 IP 注册到 Dashboard,导致跨节点无法通信。
**解决方案**:在 docker-compose 中添加 `SPRING_CLOUD_SENTINEL_CLIENT_IP` 环境变量:
```yaml
# Node-01 (192.168.1.101)
video-gateway:
environment:
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
# Node-02 (192.168.1.102)
video-gateway:
environment:
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
```
**验证**:重启微服务后,Sentinel 控制台应显示真实宿主机 IP,且所有实例状态为"健康"
---
## 七、日常运维