O iflink
do contêiner é o mesmo que o ifindex
do veth#
.
Você pode obter o iflink
do contêiner da seguinte forma:
docker exec -it <container-name> bash -c 'cat /sys/class/net/eth0/iflink'
Diga, isso resulta em 12
e, em seguida, em grep
:
grep -l 12 /sys/class/net/veth*/ifindex
Isso dará um resultado único no meu sistema:
/sys/class/net/veth11d4238/ifindex
Combine isso em um script:
#!/bin/bash
for container in $(docker ps -q); do
iflink='docker exec -it $container bash -c 'cat /sys/class/net/eth0/iflink''
iflink='echo $iflink|tr -d '\r''
veth='grep -l $iflink /sys/class/net/veth*/ifindex'
veth='echo $veth|sed -e 's;^.*net/\(.*\)/ifindex$;;''
echo $container:$veth
done
O script foi escrito para ser fácil de seguir.
Execução da amostra:
$ docker ps -q
c4d8096eff43
34ac6e9f1e6e
d5a2aa5f3de3
$ sudo ./vethfinder
c4d8096eff43:veth11d4238
34ac6e9f1e6e:veth7d52cd1
d5a2aa5f3de3:vethe46073d
Referência: link