Docker Consul服务ip广告为内部docker ip

时间:2016-09-30 14:58:30

标签: docker consul

我正在一个码头工人领事馆,官方的领事形象,我有一个服务注册领事。服务注册,但是在轮询其DNS服务时,consul报告的IP是用于联系Consul代理的内部docker IP。

dig @localhost -p 8600 address-norm.service.consul 

;; QUESTION SECTION:
;address-norm.service.consul.   IN      A

;; ANSWER SECTION:
address-norm.service.consul. 0  IN      A       172.17.0.3

而不是172.17.0.3我希望领事将服务IP更改为Consuls主机IP,因为服务隐藏在此主机上,只暴露它所需的端口。我没有使用Registrator,我公开的服务已将Spring Cloud Consul api集成到其中。


编辑:

这是我用来在Docker中启动consul的命令,我目前的解决方案是一个python脚本,它使用HTTP API并提取IP地址和端口。

 docker run -d --name consul --net=host consul agent -server -bootstrap \
   -node docker -ui -client=0.0.0.0 -bind=$NET_IP -advertise=$NET_IP

Net_IP只是运行docker的主机的本地网络IP

0 个答案:

没有答案