zoukankan      html  css  js  c++  java
  • spring cloud gateway报错java.net.UnknownHostException: 4d59d509898a: Name or service not known

    是这样的,eureka、gateway和普通的微服务在本地是OK的,

    部署到docker后,通过gateway访问某个微服务就报错了。

    用的是serviceId的方式,在eureka界面也能看到各个微服务都是在线的,没有问题,但就是通过gateway的路由访问时会报错。

    解决方案如下:

    在微服务里加上这个配置:

    eureka:
      instance:
        prefer-ip-address: true

    然后就OK了

    估计是加上后,就把ip注册到eureka了,不加的话我看过eureka注册界面,是以docker容器的container id注册过去的,譬如container id为abcde,那么当访问该微服务时,eureka以http://abcde/xxx,去访问的,当然是访问不到该服务。配置上面的选项后,就会以内网ip加端口去访问就能访问到了。

    那么为什么在本地环境是可以的呢?因为本地环境是localhost注册过去的,各个服务都能解析localhost,而docker不行,每一个docker都是独立的,把docker的container id注册过去,别的微服务是不认识的。

  • 相关阅读:
    属性选择器
    Map
    tomcat 启动失败
    find for /f 分割字符串 bat
    oracle 1day
    scott lock
    oracle oracle sqldeveloper 12505 创建连接失败
    oracle sql developer 启动java.exe设置错误
    servlet post response.sendRedirect 乱码

  • 原文地址:https://www.cnblogs.com/uzxin/p/13690300.html
Copyright © 2011-2022 走看看