Docker端口检测

我有一个docker的容器,监听一个套接字,可以说它的udp端口20000.(这是IOD udp数据进来)

这个应用程序可以(也应该)负载均衡。

我将它发布到我的docker主机并暴露端口。 Docker在docker主机上分配一些随机的端口。

我需要将此容器添加到我的负载均衡器(位于泊坞网以外)的池中。

我该如何自动化? 任何时候这个容器的新实例启动,我需要将其添加到池中。 当它死了,我需要从池中删除它。

为我工作的模式是使用2件:

  1. 注册者 ,在上线时检测容器,并在一个服务注册中心(例如Consul )注册。
  2. 知道(监视)已注册服务的负载均衡器,并相应地更改其configuration。 在我的具体情况下, Consul Template支持HAProxy ,在自动化所有这些方面做得非常好。

一般来说,这个模式可以在细节上有所不同,但通常情况就是这样。