Docker端口检测
我有一个docker的容器,监听一个套接字,可以说它的udp端口20000.(这是IOD udp数据进来)
这个应用程序可以(也应该)负载均衡。
我将它发布到我的docker主机并暴露端口。 Docker在docker主机上分配一些随机的端口。
我需要将此容器添加到我的负载均衡器(位于泊坞网以外)的池中。
我该如何自动化? 任何时候这个容器的新实例启动,我需要将其添加到池中。 当它死了,我需要从池中删除它。
为我工作的模式是使用2件:
- 注册者 ,在上线时检测容器,并在一个服务注册中心(例如Consul )注册。
- 知道(监视)已注册服务的负载均衡器,并相应地更改其configuration。 在我的具体情况下, Consul Template支持HAProxy ,在自动化所有这些方面做得非常好。
一般来说,这个模式可以在细节上有所不同,但通常情况就是这样。