The*_*war 7 docker windows-10 windows-subsystem-for-linux windows-terminal
我最近安装了 WSL2 并从 Microsoft Store 安装了 Ubuntu。当我运行 docker 时使用
Sudo service docker start,我收到以下消息
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Run Code Online (Sandbox Code Playgroud)
我按照这个答案遵循了步骤并在下面做了
sudo groupadd docker
sudo usermod -aG docker $(whoami)
Run Code Online (Sandbox Code Playgroud)
但仍然无法启动 docker.. 当检查 Docker 日志时,我可以看到下面
CONNECTING" module=grpc 启动守护进程时出错:初始化网络控制器时出错:获取控制器实例时出错:无法创建 NAT 链 DOCKER:iptables 失败:iptables -t nat -N DOCKER:iptables v1.6.1:无法初始化 iptables 表 nat' : 表不存在(需要insmod吗?)也许iptables或者你的内核需要升级。(退出状态3)`
The*_*war 17
我根据下面的错误尝试了很多步骤
can't initialize iptables table nat': 表不存在(你需要 insmod 吗?)也许 iptables 或你的内核需要升级。(退出状态 3)`
但是以管理员身份启动终端工作。即使你运行
sudo service docker start
Run Code Online (Sandbox Code Playgroud)
终端应以管理员身份启动
小智 16
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
Run Code Online (Sandbox Code Playgroud)
来自https://forums.docker.com/t/failing-to-start-dockerd-failed-to-create-nat-chain-docker/78269
我可能会迟到,但我遇到了类似的问题,而且解决方案完全不同。
如果有人遇到类似问题,我会在这里发帖。
我在我的新机器上设置了 wsl 和 docker。我无法在 wsl2 中运行 dockerd。正如 TheGameiswar 所建议的,如果我以管理员身份运行终端,我可以启动 dockerd,但我仍然无法运行任何图像。
默认情况下,wsl 是版本 1 (wsl 1),docker 需要 wsl2。
将默认 wsl 版本设置为 2
wsl --set-default-version 2
Run Code Online (Sandbox Code Playgroud)
将安装的发行版设置为 wsl2
wsl --set-version Ubuntu-20.04 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6843 次 |
| 最近记录: |