【问题标题】:Docker network interface not released to host name spaceDocker 网络接口未发布到主机名称空间
【发布时间】:2019-03-18 23:48:50
【问题描述】:

我们正在运行一个像这样的 docker 容器

docker run -d --network=none --name test -p 1642:4000 test .

之后,像这样从主机操作系统为 docker 容器分配网络接口。

sudo pipework --direct-phys ens1f1.955 -i ens1f1.955 <container_id> dhclient-f U:ens1f1.955

执行此操作后,当我们强制终止容器时,如果我在主机上运行 netstat -i,则接口 ens1f1.955 不会出现。有人可以帮忙吗?

【问题讨论】:

  • 我对@9​​87654323@ 并不完全熟悉,但如果我正确阅读了该命令,您的主机就没有 ens1f1.955 接口。它有一个ens1f1.942 接口。您在容器内将其命名为 ens1f1.955,但当容器被销毁时,别名也是如此。
  • 您好,抱歉打错了唯一考虑的接口是 ens1f1.955 。更新了问题
  • 您能否更新您的问题以包括(a)运行管道之前docker ps 的输出,(b)运行管道之前ip link show 的输出,(c)ip link show 的输出运行管道后(容器仍在运行),(d)容器退出后docker ps 的输出,以及(e)容器退出后ip link show 的输出。谢谢!
  • 您好,感谢您的回复。发现问题是因为一个 dhclient 进程一直在接口上,因此没有被释放。尝试杀死 dhclient 进程并重新启动网络,一切顺利

标签: linux docker networking docker-networking


【解决方案1】:

发现这个问题是因为一个 dhclient 进程正在持有接口,因此没有被释放。尝试杀死 dhclient 进程并重新启动网络,一切顺利。网络重启的替代方法是做 ifup

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多