我正在使用docker overlay网络和集群服务在多个主机上运行多个容器。所有容器都连接到同一个docker网络,我可以使用它们的别名在它们之间进行通信。
假设一个场景:
Host1 -> container1: alias=conA. ip: 10.0.0.4
Host2 -> container2: alias=conB, ip: 10.0.0.5
Host3 -> container3: alias=conB, ip: 10.0.0.6
在container1内部,如果我执行 gethostbyname(conB),则会给出container2或container3的ip。
作为一种变通方法,我运行 gethostbyname(conB),直到获得2个唯一的IP地址。
我正在寻找的是获取连接到该网络的所有容器的container_name:ip_address表
答案 0 :(得分:0)
我假设容器2和3是单个服务的两个副本?在这种情况下,您可以查找tasks.servicename
的主机名以获取2个IP地址。