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

Posted double12gzh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络知识---如何查看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



以上是关于网络知识---如何查看docker veth pair与宿主机上网卡的对应关系的主要内容,如果未能解决你的问题,请参考以下文章

docker

linux12 - docker容器化 -->Docker-day3-四种网络模式

docker+openvswitch实现主机与容器的网络通信

Linux——Docker容器四种网络模式,自定义网络

Linux——Docker容器四种网络模式,自定义网络

docker:如何轻松获得 veth 桥接接口对?