【Docker】使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案...

这篇具有很好参考价值的文章主要介绍了【Docker】使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案

遇到问题:

一般情况下,微服务采用docker部署,通常默认采用 bridge 桥接的网络模式,docker 会自动分配一个 172.x.x.x 这样的私有内网地址,存在这样的难题:

由于是 172开头的内部网络地址, 在本机的docker 内是可以访问,而 跨主机 就无法访问。
在使用了nacos 后,nacos 里注册的服务地址是 172 开头的,导致 微服务间调用失败。
解决方法:

  1. 采用 host 模式
    创建出来的容器没有独立ip,无法产生网络隔离的效果,它占用宿主机的IP。

注意:docker 在 linux 系统 下才支持 host 模式。mac 无法使用,我在这里坑半天。

  1. 采用 bridge模式,做端口映射
    将 容器的端口号 映射到 宿主机的端口号,在被访问时通过宿主机的IP和端口来访问。

在 使用 springcloud微服务时,单个服务在向注册中心注册的时候可以指定注册ip,这样就不会自动注册成 docker 容器的私有ip。

在 Nacos 下配置

使用的是nacos注册中心,指定 spring.cloud.nacos.discovery.ip = 宿主机的IP,这样注册到 Nacos 的微服务ip就是这里指定的宿主机IP 了,在Nacos里显示是宿主机的IP, 进行服务间访问的时候也是用这个ip,就不会出现无法访问了。

关键是:

spring.cloud.nacos.discovery.ip = 宿主机的IP

扩展知识

在使用docker run创建Docker容器时,可以用–network标志 选项指定容器的网络模式,Docker有以下4种网络模式:

host模式:使用 --net=host 指定。
bridge模式:使用 --net=bridge 指定,默认设置。
none模式:使用 --net=none 指定。
host模式
host模式类似于Vmware的桥接模式,与宿主机在同一个网络中,但没有独立IP地址。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。文章来源地址https://www.toymoban.com/news/detail-741620.html

到了这里,关于【Docker】使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nacos2.1.1版本,作为注册中心,配置中心如何使用,nacos服务端启动,微服务搭建,nacos集群化部署

    关于nacos 相信大多数人一样,在接触微服务的时候知道有Netflix系列和alibaba系列 但是Netflix这一套如今由于部分组件不在开源,又有alibaba这一套的出现,市面上,alibaba系列微服务架构已经是最火热的了,而nacos则是alibaba系列组件充当服务注册发现和配置中心的角色 说白了,就是将每个

    2024年02月03日
    浏览(48)
  • 微服务注册Nacos注册的IP却是内网IP,怎么解决

    我把nacos部署到一台服务器上,然后我在本地运行自己的微服务,中间用了OpenVPN服务来作为桥梁,但是注册到nacos的服务却是内网ip,当时我就炸了,明明有通道你不走,你非得走不通的道!! 下面就是图片展示效果 在我调用这个服务的接口时,那肯定是不通的 解决这个问题也好解决,只

    2024年02月07日
    浏览(36)
  • Linux部署Nacos注册中心结合内网穿透实现远程访问UI管理界面

    Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。 本例通过结合Cpolar内网穿透实现远程访问Nacos 提供的UI (控制台)界面,帮助管理所有的服务和应用的配置 Cpolar内网穿透是一种安全的内网穿透云服务

    2024年02月04日
    浏览(42)
  • Docker部署Nacos注册中心

    1、准备工作 2、添加配置文件 3、运行容器 4、导入Nacos初始化SQL 打开MySQL终端 复制下面SQL语句黏贴到MySQL终端 1、准备工作 2、创建TEST容器,将Nacos的conf目录COPY出来,然后映射到容器里面,方便后续维护管理! 3、运行容器 注意: MYSQL_SERVICE_HOST 变量填写自己MySQL地址,其他都

    2024年02月07日
    浏览(38)
  • 如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 ——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础

    2024年02月09日
    浏览(82)
  • SpringCloud Alibaba(一)微服务简介+Nacos的安装部署与使用+Nacos集成springboot实现服务注册+Feign实现服务之间的远程调用+负载均衡+领域划分

    目录 一.认识微服务 1.0.学习目标 1.1.单体架构 单体架构的优缺点如下: 1.2.分布式架构 分布式架构的优缺点: 1.3.微服务 微服务的架构特征: 1.4.SpringCloud 1.5Nacos注册中心 1.6.总结 二、Nacos基本使用安装部署+服务注册 (一)linux安装包方式单节点安装部署 1. jdk安装配置 2. na

    2024年02月09日
    浏览(45)
  • 内网环境使用docker部署微服务系统记录

    内网环境部署一套微服务应用系统,采用docker方式部署。包括mysql、redis、nginx、nacos、gateway以及应用程序的jar包。下面记录部署的过程和遇到的问题。 内网生成mysql镜像 在一个可以连接外网的环境中,下载mysql镜像: 将镜像打包: 将打好的mysql.tar包传到内网服务器中,解压: 此

    2024年02月16日
    浏览(38)
  • k8s部署nacos集群以及服务注册

    使用mysql存储nacos数据 mysql搭建可以参考:https://blog.csdn.net/yorao4565/article/details/128445946 在k8s中部署nacos配置nacos-cm 在k8s中部署nacos的headless-service,用于集群间访问 用于服务注册 用于外部访问管理页面 访问nacos界面:http://10.10.10.10:30004 创建一个简单的服务,能启动就行,增加

    2024年02月07日
    浏览(41)
  • SpringCoud+nacos部署在多ip环境下统一nacos服务注册ip

    场景描述 方法 配置固定ip 在springcloud服务下的bootstrap.yml文件中配置 指定ip端口 application.properties下 指定ip端口 spring.cloud.nacos.discovery.ip = 127.0.0.1 spring.cloud.nacos.discovery.port = 8989 配置使用内网前缀的ip spring.cloud.inetutils.preferred-networks=10.25.14 使用前缀为10.25.14的ip比如:10.25.14.12

    2024年02月07日
    浏览(36)
  • nacos不同局域网如何相互调用?nacos微服务云开发,远程联调部署,内网穿透,frp部署

    最近每个人都在家办公,公司项目是微服务的,一个人负责一个小服务,而且每个人都不在同一个局域网内,公司有一个云服务器(部署nacos),一开始大家都把自己负责的服务都注册到nacos上(作为服务注册和服务发现已经配置中心),大家都能注册,当前端人员来联调的时

    2023年04月17日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包