Dockernetworking:如何显示连接的容器名称

我正在构build一个Docker(1.9.1)networking,并附上一些容器。 docker network inspect NETWORK列出连接的容器,但是只能用容器ID引用它们,而我也想看到它们的名字。

我还没有find一个选项的docker network inspect命令来实现这一点。 是外部parsing,比如用脚本,这个命令的输出和docker ps的输出一起是唯一的当前的方式吗?

编辑这就是我已经写在python(2.7)作为一个助手来识别与泊坞子networking内的容器相关联的IP地址(通过networking名称作为参数):

 import json import subprocess import sys network_name = sys.argv[1] network_json = subprocess.check_output(["docker", "network", "inspect", network_name]) network = json.loads(network_json) containers = network[0]['Containers'] for container_id in containers: container_name = subprocess.check_output(["docker", "inspect", "--format", "'{{ .Name }}'", container_id]) print container_id + " " + container_name.strip() + ": " + containers[container_id]['IPv4Address'] 

我使用这个脚本:

  if [ $# -eq 0 ]; then nw=($(docker network ls | awk 'NR>=2 {printf "%s ",$2}')) else nw=$@ fi echo ${nw[@]} for network in ${nw[@]};do docker network ls | grep $network 1>/dev/null 2>/dev/null if [ $? -ne 0 ]; then echo -e "\nNetwork $network not found!" exit 1 fi ids=$(docker network inspect $network | grep -E "^\s+\".{64}\"" | awk -F\" '{printf "%s ",substr($2,0,12)}') echo -e "\nContainers in network $network:" for id in ${ids[@]}; do name=$(docker ps -a | grep $id | awk '{print $NF}') echo -e "\t$id: $name" done shift done