Skip to main content
 首页 » 编程设计

networking之如何在主机中关联docker容器及其虚拟以太网接口(interface)

2025年01月19日16zhengyun_ustc

每个容器都关联到主机上的一个虚拟以太网接口(interface),名称类似于 veth7K7R1J。我可以在 /sys/class/net/veth7K7R1J/statistics 中找到它。但我想知道如何找到这种关系。有办法做到这一点吗?

请您参考如下方法:

给定容器内的 eth0,您需要找到 peer_ifindex(您可以使用 ethtool -S 来完成)然后识别主机上的接口(interface)索引(使用 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