Docker 曾经可以工作,但现在每次运行容器都会出错:
docker: Error response from daemon: failed to create endpoint - failed to add host
- 例子:
docker run -it debian
- 结果错误:
docker: Error response from daemon: failed to create endpoint dazzling_ptolemy on network bridge: failed to add the host (veth1e8eb9b) <=> sandbox (veth73c911f) pair interfaces: operation not supported
我已经使用以下命令重新启动了 Docker
systemctl restart docker
我还做了一个网络修剪
docker network prune
似乎什么都不起作用。可能是什么原因?
答案1
为了提供更多具体的比其他人回答。
重新启动有效,因为此问题的根源是缺少活动内核的内核模块文件。
假设您正在运行 kernel linux-image-4.19.0-13-amd64
。该软件包将各种二进制内核模块文件安装在/lib/modules/4.19.0-13-amd64
.当您加载 Docker 容器时,它会动态加载其中几个模块,特别是如果这是您自上次启动以来启动的第一个容器。
现在假设您将内核升级到linux-image-4.19.0-14-amd64
.此时,在等待重新启动之前,您仍在运行linux-image-4.19.0-13-amd64
,如果您启动 Docker 容器,它将加载4.19.0-13
模块。这应该可以正常工作。
如果你那么问题就来了消除在重新启动之前安装软件包linux-image-4.19.0-13-amd64
(并忽略有关“删除正在运行的内核”的可怕警告,因为我很容易这样做)。如果您随后尝试加载这些模块,则会失败,因为/lib/modules
正在运行的内核的二进制文件现在丢失了。这就是重新启动修复它的原因 - 重新启动时,您启动到包含这些文件的较新内核。
希望这有助于澄清,因为我自己刚刚遇到了这个问题,需要解决它而不是重新启动系统。
答案2
我还没有花时间找出原因,但你应该只需要重新启动你的机器即可;它对我有用。
在github上搜索发现错误这,它链接到不久前的这个 github 问题:https://github.com/moby/moby/issues/15341#issuecomment-218930712
答案3
原因可能是内核更新。内核更新后,您需要重新启动,docker 应该像以前一样工作。
答案4
对我来说,在 CPU 上启用虚拟化解决了这个问题。 x570 芯片组上的 Ryzen 5800。
开机后按键盘上的“Del”或“F2”,然后按“F7”进入高级模式(ROG系列主板可以直接进入高级模式,无需按“F7”):
点击【高级】-【CPU配置】:
请将【SVM Mode】设置为【Enabled】: