2017-08-09 42 views
1

我dockerize我的Spring Boot应用程序并部署到Docker群集。应用程序注册在尤里卡使用IP而不是主机名,当其Docker容器发布端口

如果我不发表我的应用程序暴露的端口,然后尤里卡客户端发送的主机名作为实例的地址,像http://ecf28bdd26c5:8080 -

如果我发布的端口(使用多克的--publish参数),然后它注册与IP,如http://10.255.0.25:8080 - 不好

即使我明确设置eureka.instance.prefer-ip-address=false这样做。

如何强制Eureka客户端真正使用主机名?

回答

2

式设置的主机名eureka.instance.hostname=${SOME_VAR}或忽略某些接口:

documentation:以下配置会忽略“docker0”接口,与“VETH”开头的所有接口。

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

您还可以强制使用使用正则表达式的名单只有指定的网络地址:

application.yml 
spring: 
    cloud: 
    inetutils: 
     preferredNetworks: 
     - 192.168 
     - 10.0 
+0

斯宾塞救援,一如既往:)谢谢 – Tomasz

相关问题