如何使用外部IP进行Spring Cloud Consul注册?

时间:2016-09-13 02:35:09

标签: java spring spring-cloud consul

如何使用外部IP进行Spring Cloud Consul注册?

我在docker中使用spring cloud consul运行spring boot应用程序。 该应用程序在docker swarm上的docker网络中运行。

这意味着如果spring consul注册了主机名或IP地址,它将获得docker swarm内部的主机名或IP地址。我的领事服务器在docker swarm之外。

2 个答案:

答案 0 :(得分:6)

您可以在外部设置spring.cloud.consul.discovery.ipAddress并设置属性spring.cloud.consul.discovery.preferIpAddress=true

或者,您可以control which network interfaces从。

中获取IP地址

在Brixton中你可以忽略接口:

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

在Camden(目前为RC1)中,您还可以将网络列入白名单:

spring:
  cloud:
    inetutils:
      preferredNetworks:
        - 192.168
        - 10.0

答案 1 :(得分:0)

使用-p 12345:12345运行容器以发布端口,以便您可以通过指定端口从主机访问容器