在Docker下部署nacos并注册Java服务并不是一个困难的事,难就难在碰到Java服务注册碰到的异常,下面分享一下如何在Docker中部署Docker,如何注册Java服务,并且来解决这个异常的。环境:VMWare 部署两台Linux Ubuntu虚拟机,一台做nacos服务注册中心,一台做Java服务提供者,保证两台能够相互ping通。

步骤:

 1.在docker中部署nacos

     首先在docker repository中搜索一下nacos:sudo docker search nacos,我们选择第一个nacos/nacos-server.

   其次拉取nacos镜像:sudo docker pull nacos/nacos-server

   接着查看一下nacos的版本(为什么需要这个步骤,是因为后面要在Spring Cloud alibaba中注册Java服务,nacos的版本和Spring Cloud alibaba的版本要匹配,否则注册不上报错):sudo docker inspect nacos/nacos-server,下面所示的nacos版本是v2.0.3: "org.opencontainers.image.version": "v2.0.3"

   接着运行nacos镜像:

docker run -d -e prefer_host_mode=本机ip(centos7的)  -e MODE=standalone  
 -v  /nacos/logs:/home/nacos/logs  -p 28999:8848  --name nacosdemo 
--restart=always   nacos/nacos-server      

  最后我们访问:localhost:28999/nacos/:

2.在另外一台虚拟机上注册Java服务,使用 spring cloud alibaba注册Java服务。

  首先用alibaba spring boot 脚手架初始化应用:https://start.aliyun.com/bootstrap.html,选择Spring boot版本为2.6.11,具体可以参考之前的文章,如:分布式配置nacos搭建踩坑指南(下)

  然后注册一个Java服务,具体可参考:nacos服务注册,注意这里的地址配置成docker 中的nacos地址,端口改为上述docker运行nacos镜像中的28999.application.properties配置如下:

spring.application.name=nocos-discovery-provider-sample
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.server-addr=http://192.168.1.107:28999
spring.cloud.nacos.discovery.namespace=public

 运行,发现注册不上nacos,报错,仔细观察是客户端gprs请求call超时了

ERROR 37644 --- [  restartedMain] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, config-client register failed...NacosRegistration....................
​
com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: 
.....................
Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected,current status:STARTING

 发生这个异常的原因是spring-cloud-alibaba-dependencies的版本和当前的nacos版本不符,我们需要修改spring-cloud-alibaba-dependencies的版本。查看现在的spring-cloud-alibaba-dependencies版本是2021.0.4.0,我们尝试把它修改为:  <version>2.1.2.RELEASE</version> ,再运行,发现注册成功了。

 

 原来每一个版本的spring-cloud-alibaba和nacos都有一个适配版本,如果报上述的异常,我们可以修改spring-cloud-alibaba的版本,从而能正常注册成功了。可以参考spring cloud alibaba github上的版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E.

posted @ 2023-03-17 17:45 王三丰 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 用nacos作为服务注册中心,如何注册.NetCore服务,如何在Java中调用.NetCore服务呢?可以分为下面几个步骤: 0.运行nacos 1.开发.net core服务,然后调用nacos提供的.net core sdk注册服务。 2.开发Java服务,然后注册服务。 3.用RestTem 阅读全文
posted @ 2023-03-11 18:31 王三丰 阅读(1190) 评论(1) 推荐(3) 编辑
摘要: 在分布式配置nacos搭建踩坑指南(下) 这篇文章里,我在nacos后台创建了一个配置,下面我们来看如何用Java和c#来获取这个配置. 一.Java 1.启动nacos,和前面文章介绍的一样。 2.下载阿里巴巴脚手架,引入:spring-cloud-starter,spring-cloud-sta 阅读全文
posted @ 2023-03-04 09:40 王三丰 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 在<<Nacos服务注册>>这篇文章里,我搭建了一个nacos服务中心,并且注册了一个服务,下面我们来看在上一篇文章的基础上,怎样用Openfeign来调用这个服务。 0.同上篇,启动nacos 1.搭建alibaba spring cloud脚手架 访问https://start.aliyun.c 阅读全文
posted @ 2023-02-24 16:56 王三丰 阅读(565) 评论(0) 推荐(2) 编辑
摘要: 这篇文章介绍一下如何在nacos中注册服务,主要步骤有:一.启动nacos,二.搭建alibaba spring cloud脚手架。三.配置,服务注册。 一.启动nacos 以单机模式启动nacos:.\startup.cmd -m standalone 2.搭建alibaba spring clo 阅读全文
posted @ 2023-02-15 21:07 王三丰 阅读(1773) 评论(0) 推荐(0) 编辑
摘要: 上一篇介绍了在配置nacos中的碰到的坑,这一篇介绍一下如何正确进行nacos的环境搭建和配置,所以本文分为两部分,第一部分为环境搭建,介绍如何安装和运行。第二部分为alibaba Sprint Boot配置,介绍如何正确配置。 注意:本文基于nacos 2.2.0,alibaba Spring B 阅读全文
posted @ 2023-02-11 21:42 王三丰 阅读(676) 评论(0) 推荐(1) 编辑
摘要: 网上有不少nacos搭建的文章,阿里巴巴甚至出了一本<<Spring Cloud Alibaba从入门到实战>>的书,书名如下: 里面有讲到nacos分布式配置。不清楚是作者没讲清楚,还是nacos,spring cloud版本等的问题,按照这些配置来搭建,会碰到各种各样的问题,让你看不到预期的效果 阅读全文
posted @ 2023-02-08 20:25 王三丰 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 刻意练习是佛罗里达大学心理学家K. Anders Ericsson提出来的,他写过一本书叫做<<刻意练习:如何从新手到大师>>.他认为,每一个人都有潜力和资质成为专家,但前提是要跳出舒适区,走进学习区,经过有计划,有目的和有反馈的训练training或者练习practise,才能真正直面恐慌区的问题 阅读全文
posted @ 2023-02-05 19:20 王三丰 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 网上有不少文章说ABP的模块,有的直接翻译自官网介绍,有的分析Modlue的源代码,有的写一通代码,没什么注释,很少有能通俗说清的。那么,有两个问题:1.ABP中的模块到底是什么?2.搞这个东西是干嘛用的?难道是吃撑了没事做?下面我们来如何通俗回答这两个问题。 第一个问题:ABP中的模块到底是什么? 阅读全文
posted @ 2022-08-16 17:43 王三丰 阅读(861) 评论(5) 推荐(1) 编辑
摘要: 在清华大学出版社出版的<<Kubernetes零基础快速入门>>一书上看到了总结的Kubectl命令,觉得很不错,比较全,包括有命令的含义以及常见的资源对象,所以分享一下。 常用子命令我们可以看到有kubectl run运行一个镜像,kubectl get列出资源,kubectl expose暴露资 阅读全文
posted @ 2022-08-14 17:54 王三丰 阅读(62) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示