解决WSL2DebianBuster启动Docker失败问题

编程

debian buster不能启动docker守护进程(dockerd)的解决办法

现象是sudo service docker start提示启动出错,错误日志最后一行显示no such file or directory,如下。

Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.8.2 (nf_tables):  CHAIN_ADD failed (No such file or directory): chain PREROUTING

(exit status 4)

参考docker官方论坛的原贴。

故障原因是Docker用iptables初始化NAT网络,而Debian buster使用 nftables 而不是 iptables,导致dockerd不能正常完成NAT初始化,出错退出。

处理方法是调用update-alternatives强制Debian用iptables而不是nftables。

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

# for ipv6

sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

到此为止不能启动docker服务的问题应该解决了。

以上是 解决WSL2DebianBuster启动Docker失败问题 的全部内容, 来源链接: utcz.com/z/518534.html

回到顶部