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



如果使用命令:

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 命令。

试试这些命令:

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

我在 Bash 中使用以下命令

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

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

最新更新