docker 拉取 nacos 2.0~ 之后的版本

本文介绍如何在docker容器下安装部署nacos2.0之后版本的注意事项

前两天在用远程服务器通过docker拉取nacos2.1.0是遇到了这样一个错误,我的nacos容器创建创建成功了,并且nacos客户端也可与成功访问。但是在注册服务的时候报错了,服务于客户端连接失败。报错信息在最后面。

其原因是就是在nacos2.0之后的版本中加入了gRPC通讯

Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。

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

在我第一次创建nacos容器时,释放了nacos的原始的8848端口(错误命令)

操作命令
docker run --name nacos -p 8848:8848 -e MODE=standalone -e PREFER_HOST_MODE=hostname -d nacos/nacos-server:v2.1.0

才导致了,下面的报错

而正常的命令则是将偏移量的两个端口,和原始端口都释放(正确命令)

操作命令

拉取镜像:后边可以跟上版本号,我这里以v2.1.0的举例
docker pull nacos/nacos-server:v2.1.0


创建容器:开发8848、9848、9849端口
docker run --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 -e MODE=standalone -e PREFER_HOST_MODE=hostname -d nacos/nacos-server:v2.1.0


查看容器
docker ps 
或
docker ps -a

这边我们看到容器创建成功了,我们可以通过 Ip:8848 访问一下,看是否成功

 然后启动服务,就可以成功注册到nacos了

这里强调一下所说的nacos客户端的版本值是spring-cloud-starter-alibaba-nacos-discovery下的

 

我们docker拉取的版本最好和这个版本保持一致

报错信息:

Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING
Caused by: com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: 
Caused by: java.lang.reflect.UndeclaredThrowableException: null

 

​ 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值