Docker获取已创建网络的IP地址列表(子网的IP范围)

bkhjykvo  于 2023-05-28  发布在  Docker
关注(0)|答案(3)|浏览(333)

如果使用命令:

docker network ls

您将得到列出所有Docker网络的输出,但缺少这些网络的IP范围。
如何获取所有创建的子网IP范围?
例如,如果我使用命令:

docker network create --subnet 172.31.0.1/16 --internal network-one
docker network create --subnet 173.31.0.1/16 --internal network-two

我想获取包含以下内容的地址范围列表

172.31.0.1/16
173.31.0.1/16

如果我能以如下格式将列表作为CLI输出,那就再好不过了:

network-one 172.31.0.1/16
network-two 173.31.0.1/16
...

因此我可以将其作为Bash数组加载,并在稍后逐行解析它,或将其传递到另一个CLI命令。

gj3fmq9x

gj3fmq9x1#

尝试以下命令:

docker network inspect $(docker network ls | awk '$3 == "bridge" { print $1}') | jq -r '.[] | .Name + " " + .IPAM.Config[0].Subnet' -
6ss1mwsb

6ss1mwsb2#

docker network inspect $(docker network ls -q)|grep -E "IPv(4|6)A"
0mkxixxg

0mkxixxg3#

我在Bash中使用以下命令

docker network ls --format "{{.Name}}" | while read i; do echo $i --- $(docker network inspect $i | grep Subnet); done

它读取网络列表,然后为每个网络获取Subnet字段。

相关问题