有没有办法枚举所有内部docker接口?

时间:2018-12-05 19:33:51

标签: bash docker

我需要根据容器提取所有网络接口。 现在,我只列举所有网络:

$ sudo ls -p /sys/class/net | grep -v /

此命令行的结果为:

eth01
lo
docker 0
veth1240b7e
veth1348577
veth2b45970
veth2c40276

然后我可以在一些配置实用程序中使用它:

$ foo_init $(sudo ls -p /sys/class/net | grep -v /)

但是我不能枚举容器网络。有没有办法收集格式如下的信息:

veth1240b7e, my_container_1
veth1348577, my_container_2
veth2b45970, my_container_3
veth2c40276, my_container_4

1 个答案:

答案 0 :(得分:2)

您可以使用以下命令列出使用的接口:

docker network inspect

如果您知道网络名称,则可以使用

docker network inspect <name of the network>

,您将获得JSON文件,其中具有容器名称:

 "Containers": {
            "90e1f3ec71caf82ae776a822222a110a3f175954e5bd4222fd142ac9428": {
                "Name": "container1",
                <snip>