WSL2-Debian启动docker(failed to start daemon: Error initializing network controller: error obtaining)

2023-05-16

项目场景:

原文地址
win11 安装Ubuntu 222.04LST 。WSL2-Debian启动docker报错(failed to start daemon: Error initializing network controller: error obtaining…)


问题描述

Tips:sudo service docker start 启动日志在/var/log/docaker.log。

$ cat /var/log/docker.log
...
Sep 13 20:47:37 xxx dockerd: failed to start daemon: Error initializing network controller: error
 obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N D
OCKER: iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to ins
mod?)

原因分析:

可以看到是 iptables 的问题,此问题在其 github 仓库中有人提出过#1105,幸运的是,这个问题正好能被简单地解决。


解决方案:

  1. 首先,将iptables用iptables-legacy替换:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
  1. 开启 ipv4 的包转发功能:
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf`
  1. 退出重新启动ubuntu 22.04 LST即可。

原文地址

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WSL2-Debian启动docker(failed to start daemon: Error initializing network controller: error obtaining) 的相关文章

随机推荐