gpt4 book ai didi

docker - 主机端 docker veth 接口(interface)的 docker0 部分的第二个是什么?

转载 作者:行者123 更新时间:2023-12-02 20:05:46 25 4
gpt4 key购买 nike

默认情况下,我们有一个名为 docker0 的网桥。在主机上作为 docker 网络的一个组件。
当我们运行一个 docker 容器时,它会创建一个 vethxxx管道将 docker0 与一个点绑定(bind),将容器与另一点绑定(bind),命名为 eth0 .

我试图找到那些 eth0 的踪迹主机上的接口(interface)。
我希望通过以下方式找到一些网络 namespace :

ip netns show

但很清楚。那么我怎么能看到容器的 eth0 的表示?主机接口(interface)?

最佳答案

通常,每个容器在主机上都有一个隔离的网络命名空间。和接口(interface)eth0在一个容器中被封装在一个网络命名空间(也就是 Docker 术语中的沙箱)中。所以如果你想看eth0在主机端,您必须先输入其网络命名空间。

但是 docker 容器的网络命名空间与手动创建的目录不同。他们躺在/var/run/docker/netns .所以我们需要创建一个指向 /var/run/netns 的软链接(soft link).

  • ln -s/var/run/docker/netns/var/run/netns
  • ip netns 列表
  • ip netns exec xxxx ip addr show

  • 因此,您可以在每个隔离的网络命名空间中的主机上看到 veth 的另一面。
    root@Light-G:/var/lib# ip netns exec 459c238c2a4f ip addr show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    15: eth0@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:0a:0a:c7:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.10.199.2/24 scope global eth0
    valid_lft forever preferred_lft forever
    inet6 fe80::42:aff:fe0a:c702/64 scope link
    valid_lft forever preferred_lft forever

    关于docker - 主机端 docker veth 接口(interface)的 docker0 部分的第二个是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615174/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com