ruoyi-cloud docker启动微服务无法连接nacos,Client not connected, current status:STARTING

ruoyi-cloud docker启动微服务无法连接nacos,Client not connected, current status:STARTING

场景

当使用sh deploy.sh base来安装mysql、redis、nacos环境后,紧接着使用sh deploy.sh modules安装微服务模块,会发现微服务无法连接nacos的情况,报错为

复制代码
Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING
2025-01-14 19:47:24     at com.alibaba.nacos.common.remote.client.RpcClient.request(RpcClient.java:639)
2025-01-14 19:47:24     at com.alibaba.nacos.common.remote.client.RpcClient.request(RpcClient.java:619)
2025-01-14 19:47:24     at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:356)
2025-01-14 19:47:24     at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.doRegisterService(NamingGrpcClientProxy.java:209)
2025-01-14 19:47:24     at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.registerService(NamingGrpcClientProxy.java:123)
2025-01-14 19:47:24     at com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate.registerService(NamingClientProxyDelegate.java:98)
2025-01-14 19:47:24     at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:152)
2025-01-14 19:47:24     at com.alibaba.cloud.nacos.registry.NacosServiceRegistry.register(NacosServiceRegistry.java:75)
2025-01-14 19:47:24     ... 35 common frames omitted

分析原因

docker compose搭建的docker容器中,一个容器不应该使用localhost来访问另一个容器,例如在微服务模块中配置

复制代码
        # 服务注册地址
        server-addr: 127.0.0.1:8848

这样在容器中是无法访问到nacos的

应该改为:

复制代码
        # 服务注册地址
        server-addr: ruoyi-nacos:8848

对应所有位置都需要修改

修改后微服务容器成功启动

相关推荐
啦啦啦小石头11 小时前
Docker 换源
docker
等什么君!14 小时前
docker -数据卷技术
运维·docker·容器
m0_7400437314 小时前
【无标题】
java·spring boot·spring·spring cloud·微服务
上天_去_做颗惺星 EVE_BLUE15 小时前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
Gary董16 小时前
高并发的微服务架构如何设计
微服务·云原生·架构
好好沉淀17 小时前
Docker开发笔记(详解)
运维·docker·容器
禅口魔心18 小时前
Win10 + WSL2 + Docker:K510(DongshanPI-Vision)开发环境从踩坑到跑通全记录(交叉编译 + 上板运行)
docker·嵌入式开发·wsl2·k510
Ankie Wan18 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
Free Tester19 小时前
基于已有容器生成Dockerfile
docker
像少年啦飞驰点、19 小时前
零基础入门 Spring Boot:从“Hello World”到可部署微服务的完整学习路径
java·spring boot·微服务·编程入门·后端开发