代码之家  ›  专栏  ›  技术社区  ›  Tomasz

当其Docker容器发布端口时,应用程序使用IP而不是主机名在Eureka中注册

  •  2
  • Tomasz  · 技术社区  · 9 年前

    如果我不发布应用程序公开的端口,那么Eureka客户端会将主机名作为实例的地址发送,如 http://ecf28bdd26c5:8080 - 好的

    --publish 参数),然后向IP注册,如 http://10.255.0.25:8080 令人不快的

    即使我显式设置 eureka.instance.prefer-ip-address=false

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

    1 回复  |  直到 9 年前
        1
  •  3
  •   Claire Furney    7 年前

    通过显式设置主机名 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