我目前正在将微服务应用程序停靠并使用Consul进行服务发现。因此,所有服务都会向领事注册,并从领事处获取环境变量。未安装的微服务应用程序的起始脚本从用户获取Consul ip:port并将其转发给所有其他好的微服务。但是,如何为dockerized微服务应用程序复制相同的内容,因为每个容器都是独立的。此外,所有服务都需要向领事登记,但他们没有领事。
我可以在每个所需的微服务应用程序中对consul ip:port进行硬编码,但我不认为这是一种优雅的方式。那么你对如何使其他服务了解领事有任何想法吗?
感谢任何帮助。
答案 0 :(得分:0)
你可以通过领事IP&作为Dockers的环境变量端口(-e
命令上的docker run
)
答案 1 :(得分:0)
领事提供DNS interface。不要使用IP地址,如果你不是真的做任何类型的服务发现。
最好的办法是在DNS基础架构中设置DNS Forwarding,然后查找consul.service.consul。