Windows子系统WSL(Ubuntu) 启动docker时报错的解决方法
1. 问题描述
在安装docker后发现docker无法启动,执行如下指令
sudo service docker start
显示docker 启动成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QGKE2QUo-1682327166725)(C:\Users\50321\AppData\Roaming\Typora\typora-user-images\image-20230424165550328.png)]
但是查看docker状态时,显示
docker is not running
2. 问题解决
- 查看日志发现是
iptables
问题
Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.8.4 (legacy): can’t initialize iptables table `nat’: Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. (exit status 3)
可以禁用iptables
,如下
sudo dockerd --iptables=false
- 此时重启docker 服务会出现错误:
failed to start daemon: Error initializing network controller: Error creating default “bridge” network: permission denied
解决方法为:以管理员身份启动wsl终端,按住ctrl
,点击启动Ubuntu
再启动docker服务发现问题解决: