背景

nacos装在本地的时候,启动一切正常,但是把nacos装在服务端的时候,报错。
Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}

#原因
当nacos客户端升级为2.x版本后,新增了gRPC的通信方式,新增了两个端口。这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成.。

端口 与主端口的偏移量 描述
9848 1000 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849 1001 服务端gRPC请求服务端端口,用于服务间同步等

因为是用的docker安装的nacos,所以启动的时候,只把宿主机的8848端口和容器的8848端口映射了,所以客户端像服务端发起连接请求的时候会报9948找不到,只要同时把9949,和9849端口也同时暴露出去就行了

解决方案步骤:

删除容器(需要先暂定该容器才能删除)

暂停容器命令:docker stop 容器ID号
删除容器命令:docker rm 容器ID号

重启容器,将9948,9949端口一起暴露出去:

docker  run \
--name nacos -d \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/nacos/logs:/home/nacos/logs \
-v /home/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server:2.0.3

再次启动服务,会发现服务连接成功;

更多推荐

使用docker安装Nacos,SpringCloud启动时,远程连接nacos报错,please check server x.x.x.x ,port 984