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

标签 networking docker

每个容器都关联到主机上的一个虚拟以太网接口(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

关于networking - 如何在主机中关联docker容器及其虚拟以太网接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31850150/

相关文章:

networking - Fiddler 显示 DNS 查找失败

php - Docker:E:无法找到软件包 mysql-client —-no-install-recommends

docker - Rails 6.1.0 [webpack-cli] TypeError : Cannot read property 'plugins' of undefined

sql-server - Docker容器中的.Net Core应用程序无法连接到SQL Server

Docker 镜像名称自动更改

networking - 如何创建到特定网络接口(interface)的传出套接字?

networking - 曼彻斯特编码和以太网协议(protocol)

ubuntu - ppp0接口(interface)使用eth0接口(interface)

python - SQLAlchemy SSL SYSCALL超时应对机制

docker - 如何在不使用 docker pull 的情况下检测是否有新的 docker 镜像?