我有一个在docker内部运行的Spring Cloud Eureka客户端实例,并且我希望客户端向Eureka服务器注册主机的IP地址而不是容器的主机名,因此我将eureka.instance.ip-address: xx.xx.xx.xxeureka.instance.prefer-ip-address: true设置为客户端的application.yml,但这不是工作时,它仍将容器的主机名注册到服务器,感谢您的任何帮助!

spring:
  application:
    name: uaa-service
server:
  port: 8799

eureka:
  service-url:
    defaultZone: https://XX.YY.ZZ/eureka/
  instance:
    prefer-ip-address: true
    ip-address: xx.xx.xx.xx

docker - Eureka客户端的“prefer-ip-address”在Docker容器中不起作用-LMLPHP
我的Spring Boot版本是2.0.0.RELEASE,而Spring Cloud是Finchley.M9

最佳答案

我正在使用相同版本的spring-boot并遇到类似的问题

但是我认为您将IP地址与实例ID混淆了。

看到这个链接:https://github.com/spring-cloud/spring-cloud-netflix/issues/1646#issuecomment-275121055

当您将鼠标悬停在链接上或单击链接时,它显示正确的IP地址吗?

无论如何,我有两个应用程序,其中一个使用spring-boot 1.5,该属性在其中起作用。

在2.0版本中,应用程序始终使用机器IP,而不是我在eureka.instance.ip-address中告知的内容。

编辑>我在这里报告了一个错误:https://github.com/spring-cloud/spring-cloud-netflix/issues/2878

关于docker - Eureka客户端的“prefer-ip-address”在Docker容器中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49684566/

10-16 13:47
查看更多