Script pour faire correspondre interfaces réseaux & Dockers

Docker 17 sept. 2019

Pour savoir quelle interface correspond à quel container Docker j’ai piqué un script (j’ai plus la source navré pour lui/elle) qui s’occupe de lister et mettre en rapport les vetxxx et les noms des containers.

./dockervetfinder.sh 
rutorrent:vethe9c29dc
sabnzbd:veth63d3929
jackett:veth4797fe6
vnstatweb:vethc5d6931
heimdall:veth533088b
mariadb:veth94efc27
ombi:vethd77d74a
nginx-proxy-manager:veth85e938c
zncuac:veth9a0fef6
medusa:vethc388d68
nzbhydra2:veth2ec4dd7
tautulli:veth29a06d2
syncthing:vethb7b962b
znctor:vethe28db3d

Script

#!/bin/bash

for container in $(docker ps --format '{{.Names}}'); do
    iflink=`docker exec -it $container bash -c 'cat /sys/class/net/eth*/iflink'`
    for net in $iflink;do
        net=`echo $net|tr -d '\r'`
        veth=`grep -l $net /sys/class/net/veth*/ifindex`
        veth=`echo $veth|sed -e 's;^.*net/\(.*\)/ifindex$;\1;'`
        echo $container:$veth
    done
done

 

Mots clés