如何使用外部IP进行Spring Cloud Consul注册?
我在docker中使用spring cloud consul运行spring boot应用程序。 该应用程序在docker swarm上的docker网络中运行。
这意味着如果spring consul注册了主机名或IP地址,它将获得docker swarm内部的主机名或IP地址。我的领事服务器在docker swarm之外。
答案 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运行容器以发布端口,以便您可以通过指定端口从主机访问容器