You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker同网络部署时Spring Boot应用无法连接Redis副本节点排查求助

问题根因

你在Spring Boot容器的环境变量中配置的副本节点端口错误。Docker同网桥下的容器互相通信时,直接使用容器内部服务监听的端口即可,不需要使用宿主机映射的对外端口:

  • redis-replica-a容器内部的Redis服务默认监听6379端口
  • 7001只是你映射到宿主机的端口,仅用于宿主机或外部网络访问,容器内网环境没有开放这个端口
  • 主节点可以正常连接,正是因为你配置的主节点端口6379是容器内部的监听端口

修复方案

修改docker-compose.yml中redis-sample-app的环境变量即可:
把SPRING_REDIS_REPLICAS=redis-replica-a:7001替换为SPRING_REDIS_REPLICAS=redis-replica-a:6379


可选排查方向(修改配置后仍有问题可按以下步骤验证)

  • 进入redis-sample-app容器,执行nc -zv redis-replica-a 6379检查端口连通性,也可以执行redis-cli -h redis-replica-a -p 6379 ping验证Redis服务是否正常响应
  • 进入redis-replica-a容器,执行info replication确认主从同步状态正常,副本角色配置无误
  • 查看Spring Boot启动日志,确认Replica property和Replica nodes的打印值符合预期,没有被其他配置覆盖
  • 确认三个服务都在docker-compose默认创建的同一个网桥下,没有自定义网络隔离规则

内容的提问来源于stack exchange,提问作者endryha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:54:02