如何让其他微服务知道服务注册中心领事的IP地址

时间:2017-04-12 20:27:28

标签: docker dockerfile microservices consul

我目前正在将微服务应用程序停靠并使用Consul进行服务发现。因此,所有服务都会向领事注册,并从领事处获取环境变量。未安装的微服务应用程序的起始脚本从用户获取Consul ip:port并将其转发给所有其他好的微服务。但是,如何为dockerized微服务应用程序复制相同的内容,因为每个容器都是独立的。此外,所有服务都需要向领事登记,但他们没有领事。

我可以在每个所需的微服务应用程序中对consul ip:port进行硬编码,但我不认为这是一种优雅的方式。那么你对如何使其他服务了解领事有任何想法吗?

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

你可以通过领事IP&作为Dockers的环境变量端口(-e命令上的docker run

答案 1 :(得分:0)

领事提供DNS interface。不要使用IP地址,如果你不是真的做任何类型的服务发现。

最好的办法是在DNS基础架构中设置DNS Forwarding,然后查找consul.service.consul。