给定一个docker网络,是否可以列出所有可见的容器及其主机名?我有一些带有自定义定义网络的 docker-compose 文件,如下所示:
docker-compose-1.yaml
version: "3.9"
services:
service-1:
..
networks:
master-network:
external: true
name: master-network
docker-compose-2.yaml
version: "3.9"
services:
service-2:
..
networks:
master-network:
external: true
name: master-network
我理想地想要这样的命令:
$ docker network list-hosts --network=master-network
# desired output:
service-1
service-2
用例是我正在该网络上调试 nginx 反向代理问题,我想验证我期望可见的所有内容确实可见,以及是否有任何意外的拼写问题。
我目前拥有的最好的是以下组合:
docker inspect network_name
这将在
containers
键下显示一堆容器 ID/名称。
从那里你可以向上看
docker inspect container_id/name
并在
NetworkSettings.Networks.[network_name].Aliases
下获取可能的主机名,我想。
可以编写一个脚本来循环和解析这些,但想知道 docker 中是否提供了更简单的命令。