首页 > 其他分享 >SpringCloud 解决 Docker 镜像 虚拟机网卡导致的IP 不准确的问题

SpringCloud 解决 Docker 镜像 虚拟机网卡导致的IP 不准确的问题

时间:2025-01-09 15:44:14浏览次数:1  
标签:SpringBoot SpringCloud 虚拟机 配置 使用 网卡 IP 网络接口

Spring Cloud 应用可能会使用 InetAddress.getLocalHost().getHostAddress() 或类似方法来获取当前机器的 IP 地址。
但在 Docker 容器环境中,这种方法可能会返回容器内部的 IP 地址,而不是宿主机的 IP 地址。

分布式应用部署到服务上,由于服务器可能存在多张网卡,造成IP地址不准。

出现这种问题的原因是当前机器有多个网卡(如有虚拟网卡)造成的,SpringBoot在获取IP的时候无法获取到正确的IP,在实际生产环境中服务器本身也有多块网卡,SpringBoot启动时只能选择一个IP,能否通过简单的配置就能解决这个问题呢?答案是,可以的,SpringBoot本身自带这种功能。

SpringBoot提供了三种配置方式,可以单独使用,也可以混合使用。

一、配置忽略网络接口

使用Docker中运行SpringBoot服务时,服务注册的时候,可以忽略掉一些指定名称的网络接口,想要忽略的网络接口的名称可以使用正则表达式来配置。
下面的配置就是忽略名称为docker0网络接口和所有名称以veth开头的网络接口:
application.yml

spring:
  cloud:
    inetutils:
      ignoredInterfaces:
        - docker0
        - veth.*

二、配置使用指定网络接口

相反,也可以使用正则表达式配置只使用指定的网络接口地址。
下面配置的例子就只使用192.168开头和10.0开头的ip地址,其他的地址都不会使用。
bootstrap.yml

spring:
  cloud:
    inetutils:
      preferredNetworks:
        - 192.168
        - 10.0

三、配置使用site-local地址

如果SpringBoot服务只是在局域网内使用,不会被外部调用的话,就可以使用site-local方式配置,配置方式如下:
application.yml

spring:
  cloud:
    inetutils:
      useOnlySiteLocalInterfaces: true

END.

标签:SpringBoot,SpringCloud,虚拟机,配置,使用,网卡,IP,网络接口
From: https://www.cnblogs.com/eddyz/p/18662281

相关文章

  • Azure基础认证(AZ-900)完全指南:(十九)计算 - 虚拟机的演变
    点击进入:Azure基础认证(AZ-900)完全指南(一):认证概述点击进入:Azure基础认证(AZ-900)完全指南(二)考试概述点击进入:Azure基础认证(AZ-900)完全指南:(三)什么是云计算?点击进入:Azure基础认证(AZ-900)完全指南:(四)云服务点击进入:Azure基础认证(AZ-900)完全指南:(五)什么是Azure点击进入:Azure基......
  • VMware虚拟机无法打开时恢复最新快照中的数据的办法
    转载自VMware虚拟机无法打开时恢复最新快照中的数据的办法_山雨欲来-风满楼-华为开发者空间快照技术对于VMware备份任务来说是一个伟大的工具,但如果你改变了客户操作系统,并且这一变化导致意外行为发生,那么你需要删除或还原快照,使虚拟机返回到原来的状态。如果不这样做,可能会导......
  • 快照管理器检测不到虚拟机的快照
    快照管理器检测不到虚拟机的快照正常从列表取消注册虚拟机后,再添加会快照管理器回村走之前的快照,除非用第三方备份软件通过快照API生成的快照不在管理器显示bookArticleID:331558calendar_todayUpdatedOn: 01-27-2017ProductsVMwarevSphereESXiIssue/In......
  • SpringCloud
    认识微服务单体架构在认识微服务之前,我先来说说单体架构,我们之前所学的SpringBoot做的最多项目就是单体架构项目。而单体架构是将业务的所有功能集中在一个项目中开发,打成一个包部署。所以单体架构的优缺点就十分的明显,如下图表示。微服务架构而微服务就是把单体架构中某些功......
  • PD19 Parallels Desktop 虚拟机 安装Windows10系统 操作步骤(保姆级教程,轻松上手)
    PD19ParallelsDesktop虚拟机安装Windows10系统操作步骤(保姆级教程,轻松上手)ParallelsDesktop19,是一款Mac虚拟机软件,能在搭载Intel或Apple芯片的任何Mac上运行Windows,体验不同操作系统之间的无缝集成。使用ParallelsDesktop19forMac不断创新。在您的Mac中......
  • pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】
    pd虚拟机[po]ParallelsDesktop20激活forMac[jie]安装教程【支持M芯片】ParallelsDesktop20,是一款Mac虚拟机软件,在搭载AppleM系列芯片的任何Mac上运行Windows,体验不同操作系统之间无缝集成。使用ParallelsDesktop20forMac体验macOS和Windows的双重最优......
  • VMware Fusion Pro 13 for Mac虚拟机软件
    VMwareFusionPro13forMac虚拟机软件VMwareFusionProforMac,是一款mac虚拟机软件,跟ParallelsDesktop一样,都可以让你的Mac同时运行一个或多个不同的操作系统。VMwareFusionPromac不仅能让你在Mac苹果电脑上运行Windows或Linux系统、使用非Mac平台的软件,而且还可以支......
  • ubuntu内virtulbox虚拟机内ubuntu无法联网:
    有可能是默认路由存在问题,然后这个默认的dns可能也存在问题。可以看到dns地址与默认路由都无法连接----ping不通好奇怪,配置与默认状态完全一样,但是无法联网这台无法联网的ubuntu虚拟机,虽然设置了默认路由地址是10.0.2.2,但是这个地址其实不存在一台路由器-----虚拟的路由......
  • 2025.1.6-3 Linux虚拟机网络配置
    VMware有三种主要的网络配置模式,分别为桥接模式(用的最多)、NAT模式(用的少)和仅主机(基本不用)模式。每种模式都有其特点和适用场景,以下为你详细介绍:1.桥接模式(Bridged)(最重要)原理:在桥接模式下,虚拟机的虚拟网卡会与主机的物理网卡进行桥接,虚拟机就如同局域网中的一台独立物理......
  • SpringCloud
    SpringCloudSpringCloudAlibaba5大组件有哪些?​ 服务注册和配置中心Nacos,负载均衡Ribbon,服务调用Feign,服务保护(包括限流降级熔断)sentinel,服务的网关Gateway注:每个微服务都要注册和配置一些东西需要Nacos,一个微服务部署集群即多个实例还要用到负载均衡Ribbon,服务间互相......