如何查看关联到容器的网络适配器。
我启动了一个应用程序,启动了50个docker容器,并在我的Ubuntu18.04系统上创建了50个“虚拟”网络适配器。
我可以使用ifconfig -a查看网络适配器。它显示ipv6,但不显示ipv4。我还可以使用docker inspect查看停靠容器ipv4,但不能使用ipv6。
我还没有想出一种将网络适配器与docker容器相关联的方法。
发布于 2019-11-01 00:03:14
运行此命令以查找您的docker网络id:
docker network ls --no-trunc
NETWORK ID NAME DRIVER SCOPE
1849dpjmcnj7ckw4q2svhvj4r base_default overlay swarm然后检查它:
docker inspect <container_name> | grep "1849dpjmcnj7ckw4q2svhvj4r"
"Target": "1849dpjmcnj7ckw4q2svhvj4r",
"NetworkID": "1849dpjmcnj7ckw4q2svhvj4r",发布于 2019-11-01 01:01:55
您可以检查veth对的接口ifindex:
brctl show docker0要查看docker桥中的veth接口,现在使用此脚本可以查看您的容器正在使用哪个接口:
#!/bin/bash
for i in $(ip link list | awk -F '@' '/veth/ {split($2,a,":"); print a[1]}' | sed 's/if//g');do
for dock in $(docker ps --quiet);do
dock_index=$(docker exec -ti $dock cat /sys/class/net/eth0/ifindex | sed 's/\r$//')
if [[ $i == $dock_index ]]; then
echo "$i $dock"
fi
done
donehttps://stackoverflow.com/questions/58645323
复制相似问题