【问题标题】:Docker virtual network adapter not added to docker0 bridgeDocker 虚拟网络适配器未添加到 docker0 网桥
【发布时间】:2022-10-05 13:40:25
【问题描述】:

每次我尝试以桥接网络模式启动任何容器时,虚拟网络适配器都不会添加到 docker0 桥接器中。结果,这些容器无法访问网络。我从ip addr 看到了 docker0 网桥和 vethXXXXXX@ifXXX 虚拟接口。但是,brctl show 显示没有附加接口的 docker0 网桥。我可以使用brctl addif vethXXXXXX docker0 手动添加接口,一切正常。 由于连接问题,一些容器退出得太快了,以至于我没有机会在它们重新启动时获得新的虚拟接口之前添加它们。
我已经删除了所有 docker 网络适配器,并通过重新启动 docker 让它们重新初始化,但没有成功。
有谁知道我该如何解决这个问题,以便容器的网络接口在启动时自动添加到 docker0 网桥?

谢谢

【问题讨论】:

    标签: docker


    【解决方案1】:

    您可以使用 networkctl 检查 veth 状态。

    networkctl status -a
    

    它可能匹配不正确的网络设置。您可以使用另一个更高优先级的 systemd-networkd 设置来更正它。

    前任: 创建一个新文件 /etc/systemd/network/20-docker-veth.network 有内容

    [Match]
    Name=veth*
    Driver=veth
    
    [Link]
    Unmanaged=true
    

    并重新启动 systemd-networkd 服务。

    sudo systemctl restart systemd-networkd.service
    

    然后,启动一个带有桥接网络的新容器将自动链接到 veth。

    参考:https://forums.docker.com/t/archlinux-container-veth-interfaces-being-assigned-to-wrong-bridge/107197/2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2011-05-14
      • 2018-09-26
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      相关资源
      最近更新 更多