SpringCloud-Eureka配置instanceId显示IP

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    preferIpAddress: true
    instance-id: ${spring.cloud.client.ipAddress}:${server.port}

上面是通用解决方案,但是我是在docker容器里面运行的spring cloud,需要获取宿主机的ip:端口,方式已经在上篇博客写了。

 eureka-server(10.20.31.230:10040):

server.port=7000
# 注册时使用ip而不是主机名
eureka.instance.prefer-ip-address=true
#docker读取系统环境变量
eureka.instance.instance-id=${HOST}:${PORT0}
eureka.instance.hostname=${HOST}
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://${HOST}:${PORT0}/eureka/
#关闭自我保护机制,保证不可用服务及时踢出
eureka.server.enable-self-preservation=false

 eureka-client:

eureka.client.serviceUrl.defaultZone=http://10.20.31.230:10040/eureka/
# 注册时使用ip而不是主机名
eureka.instance.prefer-ip-address=true
#docker读取系统环境变量
eureka.instance.instance-id=${HOST}:${PORT0}

  

原文地址:https://www.cnblogs.com/zhangmingcheng/p/11102899.html