【发布时间】: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 不会出现。有人可以帮忙吗?
【问题讨论】:
-
我对@987654323@ 并不完全熟悉,但如果我正确阅读了该命令,您的主机就没有
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