Debug —— 部署微服务中微服务的配置文件及本地注册Nacos没问题但部署到Docker中就注册失败

问题



解决方案

为什么服务在docker中总是自动连的是19375阿???

  • 客户端连 127.0.0.1:19375 根本不是配置写错,而是它"没能从 Nacos 拿到可解析的节点地址",于是硬编码 fallback 到 localhost + 随机高段端口。

首先我是在本地Docker测试部署的,然后Docker中都是最小化的嘛,很多命令都是没有的。因此尽可能用本地可以直接用的命令

用命令直接在宿主机(你的电脑)上访问 Nacos 的接口,看它返回什么地址。

注意这里因为我创建nacos的时候是18375:8848,是本地的18375映射到docker中的8848,所以主机访问nacos要通过访问本地的18375端口

bash 复制代码
curl http://localhost:18375/nacos/v1/core/cluster/nodes

结果

bash 复制代码
{"code":200,"message":null,"data":[{"ip":"d566c5a53d26","port":8848,"state":"UP","extendInfo":{"raftPort":"7848","readyToUpgrade":true,"version":"2.1.0"},"address":"d566c5a53d26:8848","failAccessCnt":0,"abilities":{"remoteAbility":{"supportRemoteConnection":true},"configAbility":{"supportRemoteMetrics":false},"namingAbility":{"supportJraft":true}}}]}

不是 IP,而是随机容器 hostname,业务容器同样解析不到,于是客户端又 fallback 到 127.0.0.1:19375。

bash 复制代码
{"code":200,"message":null,"data":[{"ip":"nacos","port":8848,"state":"UP","extendInfo":{"raftPort":"7848","readyToUpgrade":true,"version":"2.1.0"},"address":"nacos:8848","failAccessCnt":0,"abilities":{"remoteAbility":{"supportRemoteConnection":true},"configAbility":{"supportRemoteMetrics":false},"namingAbility":{"supportJraft":true}}}]}

然而报错仍然一模一样

  • 现在不是网络问题,而是客户端版本太旧,根本不认识 server-grpc-addr,只能去"猜"节点列表里的地址------一旦拿到 随机 hostname(bcbc5175e64d)或 127.0.0.1 就 fallback 到 127.0.0.1:19375,所以永远注册不上。


虽然仍旧报错,但是终于不是访问19375端口了!!!!!!!

  • 注意:修改容器内容后记得删除原来的镜像然后重新拉取镜像,不要直接重启,用的镜像还是原来的!!!



成功本地部署

相关推荐
Dr.kangder5 小时前
嵌入式面试总结(十四)——中断处理
单片机·面试·职场和发展·架构·硬件架构·嵌入式
chas_885 小时前
[学习笔记] Elpis 框架 DSL 设计总结
架构
zhangjw345 小时前
第41篇:微服务入门:架构理念+核心组件,理解微服务本质
微服务·云原生·架构
hey you~5 小时前
北京连锁零售门店云客服系统搭建实战指南:从架构选型到落地验收
架构·零售·连锁零售·云客服搭建·门店数字化·通信原生架构
三品PLM系统5 小时前
PLM平台在制造业档案治理中的技术落地:OPPO设备后勤部架构、编码与权限解析 | 三品软件
架构·软件工程·plm·工程文档管理·制造业档案治理·三品软件
雨声不在6 小时前
docker-android 重启后镜像起不来
android·docker·容器
阿图灵6 小时前
Agentic AI 架构入门(十二·完结):ADLC、AgentOps 与企业级平台蓝图
人工智能·架构·ai agent·智能体·agentops·agentic ai·adlc
Warren2Lynch7 小时前
从文本到架构:Visual Paradigm AI Chatbot V2 深度评测与实战指南引言
人工智能·架构
cxr8287 小时前
D2E 深度剖析 时序工具链
人工智能·架构
k4m7v2pz7 小时前
Rust 高并发 WebSocket 连接管理:从线程地狱到 tokio 异步架构
websocket·架构·rust·并发编程·tokio