pee*_*ain 5 networking docker docker-networking
我正在使用"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}"
Run Code Online (Sandbox Code Playgroud)
另一种选择是依靠网桥作为网络默认网关的事实,因此它的 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |