网络知识---如何查看docker veth pair与宿主机上网卡的对应关系

正文

1. 方法

可以通过iflink 找到对应关系。

  • 在宿主机上执行命令ip link
$ ip link
......
13: veth56ecf40@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue mast
er docker0 state UP mode DEFAULT group default
    link/ether 56:17:10:68:88:b1 brd ff:ff:ff:ff:ff:ff link-netnsid 4
15: veth0f80cbf@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue mast
er docker0 state UP mode DEFAULT group default
    link/ether fa:e6:8f:3b:01:54 brd ff:ff:ff:ff:ff:ff link-netnsid 5
  • 在容器内查看iflink文件
root@336043b07211:/# docker exec -it nginx-1 bash
root@336043b07211:/# cat /sys/class/net/eth0/iflink
13

root@336043b07211:/# docker exec -it nginx-2 bash
root@336043b07211:/# cat /sys/class/net/eth0/iflink
15

这样就可以确定:
nginx-1这个容器在物理机上对应的veth pair是veth56ecf40@if12
nginx-2这个容器在物理机上对应的veth pair是veth0f80cbf@if14

2. 其它方法

  • 通过ethtool来查看
    首先在容器中执行:ethtool -S eth0

eth0为容器中的网卡的名字

root@336043b07211:/# ethtool -S eth0
NIC statistics:
     peer_ifindex: 13

然后在宿主机上执行: ip link show

$ ip link show
...
13: veth56ecf40@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 56:17:10:68:88:b1 brd ff:ff:ff:ff:ff:ff link-netnsid 4
15: veth0f80cbf@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether fa:e6:8f:3b:01:54 brd ff:ff:ff:ff:ff:ff link-netnsid 5
posted @   大海星  阅读(4969)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2016-07-20 RPC-server的创建过程
2016-07-20 RabbitMQ and Oslo.messaging
点击右上角即可分享
微信分享提示