gpt4 book ai didi

networking - 获取与 docker Network 关联的网桥名称

转载 作者:行者123 更新时间:2023-12-03 20:10:07 29 4
gpt4 key购买 nike

我正在使用“docker network create --d bridge mynet”创建一个 docker 网络。我想获取与此 docker 网络关联的网桥名称。

我知道我可以使用“-o”来提供网桥名称。例如:“docker network create --d bridge -o com.docker.network.bridge.name=mybridge mynet”。此方法适用于普通网桥驱动程序,但在我的情况下,我使用的是 ovs 驱动程序,因此我将网络启动为“docker network create --d ovs mynet”。如果我在 ovs 驱动程序的情况下使用“-o”,则它不起作用。

请建议我一种获取与网络相关联的网桥名称的方法。创建网络时正在创建的新网桥,用它创建的网桥有一个随机名称,我可以使用“ifconfig”命令看到它。

最佳答案

网桥名称不属于 docker network inspect输出,但它总是 br-<first 12 characters of network id> (除非在使用 -o com.docker.network.bridge.name=<bridge name> 创建网络时明确指定)。

network_id=$(docker network inspect -f {{.Id}} <network name>)
bridge_name="br-${network_id:0:12}"

另一种选择是依靠网桥作为网络默认网关的事实,因此它的 IP 地址和网络的网关地址是相同的。
network_gateway=$(docker inspect \
-f '{{range .IPAM.Config}}{{.Gateway}}{{end}}' <network name>)
bridge_name=$(ifconfig | grep -B1 "inet $network_gateway" | head -1 | cut -d: -f1)

关于networking - 获取与 docker Network 关联的网桥名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36022283/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com