Docker端口检测
我有一个docker容器监听套接字,比如说它的udp端口20000。(这是输入的物联网udp数据) 此应用程序可以(也应该)进行负载平衡 我将其发布到docker主机并公开端口。Docker在Docker主机上分配一些随机端口 我需要将此容器添加到位于docker网络外部的loadbalancer上的池中Docker端口检测,docker,Docker,我有一个docker容器监听套接字,比如说它的udp端口20000。(这是输入的物联网udp数据) 此应用程序可以(也应该)进行负载平衡 我将其发布到docker主机并公开端口。Docker在Docker主机上分配一些随机端口 我需要将此容器添加到位于docker网络外部的loadbalancer上的池中 如何实现自动化?每当这个容器的新实例启动时,我都需要将它添加到池中。当它死亡时,我需要将其从池中移除。对我有效的模式是使用两件: ,它在容器联机时检测容器,并将其注册到一种服务注册表中(例如)
如何实现自动化?每当这个容器的新实例启动时,我都需要将它添加到池中。当它死亡时,我需要将其从池中移除。对我有效的模式是使用两件:
一般来说,这种图案在细节上可能会有所不同,但通常都是这样。对我有效的图案是使用两件:
一般来说,这种模式在细节上可能有所不同,但通常情况下是这样的。您可能希望订阅docker事件,然后在收到开始/停止事件时检查端口的映像,并使用负载平衡器进行适当操作。如果您使用
--name mycontainer\u app
启动容器,您可以使用docker inspect mycontainer\u app
等就像docker inspect--format{{(index(index.NetworkSettings.Ports“20000/tcp”)0.HostPort}}mycontainer_app应该为您提供此端口查看我的答案中的更多详细信息在我的答案中,此命令输出为49153
您可能希望订阅docker事件,然后在获得启动/停止事件时检查端口的映像,并使用LoadBalancer正确操作。如果您使用--name mycontainer\u app
启动容器,您可以只使用docker inspect mycontainer\u app
等正是类似于docker inspect--format'{(index(index.NetworkSettings.Ports“20000/tcp”)0.HostPort}}}mycontainer_应用程序
的东西,应该为您提供此端口查看我的答案中的更多详细信息在我的答案中,此命令输出为49153