如何在主机中关联Docker容器及其虚拟以太网接口

每个容器都与主机上的虚拟以太网接口(如veth7K7R1J )相关联。 我可以在/sys/class/net/veth7K7R1J/statisticsfind它。 但我想知道如何find这种关系。 有没有办法做到这一点?

给定容器内的eth0 ,你需要findpeer_ifindex(你可以用ethtool -S来做),然后在主机上标识该接口索引(使用ip link )。 所以:

 $ docker run -it --rm ubuntu:14.04.2 bash root@07e330775e98:/# apt-get update && apt-get install -y ethtool [...] root@07e330775e98:/# ethtool -S eth0 NIC statistics: peer_ifindex: 875 

然后再次在主机上:

 $ ip link | grep '^875:' 875: vethdd8c173: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP