在WSL 2 (Ubuntu 22.04)安装Docker Ce 启动错误解决

查看WSL版本

  • 在 Windows 命令提示符(CMD)或 PowerShell 中,你可以使用以下命令来查看已安装的 WSL 发行版及其版本信息:
plaintext 复制代码
wsl -l -v
shell 复制代码
(base) PS C:\Users\Lenovo> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2

docker启动报错

failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain: (iptables failed: iptables --wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN: iptables v1.8.7 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain DOCKER-ISOLATION-STAGE-1 (exit status 4))

解决方法:

在WSL中安装Ubuntu 22.04稳定版后,我按照Docker官方说明继续安装Docker引擎。因为这是WSL,所以运行sudo systemctl start docker不起作用。要启动docker服务,您需要使用sudo /etc/init.d/docker start .

如果使用sudo /etc/init.d/docker status命令检查,你将注意到docker服务没有运行。原因是在启动docker时出现了这个错误。

要解决这个问题,需要将默认iptables更新为 legacy 选项。这样做之后,你应该能够启动docker服务并运行正常的docker命令。

复制代码
$ sudo update-alternatives --config iptables

There are 2 choices for the alternative iptables (providing /usr/sbin/iptables).

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/sbin/iptables-nft      20        auto mode
  1            /usr/sbin/iptables-legacy   10        manual mode
  2            /usr/sbin/iptables-nft      20        manual mode

选择 1 , 修改选项。

查看windows宿主IP

在 WSL 2 环境下,可以通过查看/etc/resolv.conf文件来获取 Windows 宿主机器的 IP 地址相关信息。这个文件用于配置域名解析,其中包含了从 WSL 2 访问外部网络(包括 Windows 宿主网络)的网关信息。

执行以下命令:

shell 复制代码
cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.30.112.1

这里的172.30.112.1就是 Windows 宿主机器为 WSL 2 提供的网关 IP 地址,这个 IP 地址可用于从 WSL 2 与 Windows 宿主机器进行通信相关的操作。不过,这不是 Windows 宿主机器真正的外部网络 IP 地址,但在 WSL 2 内部用于访问 Windows 系统是非常关键的信息。

相关推荐
Jerry&Louis4 分钟前
【Ubuntu】Waydroid-Linux安卓模拟器安装
linux·ubuntu
yangpan0115 分钟前
ubuntu 24.04安装ros1 noetic
linux·运维·ubuntu
星卯教育tony6 分钟前
ubuntu 20.04 更改国内镜像源-阿里源 确保可用
linux·运维·ubuntu
卡戎-caryon21 分钟前
【C++】15.并发支持库
java·linux·开发语言·c++·多线程
weixin_434255611 小时前
命令行快速上传文件到SFTP服务器(附参考示例)
linux·运维·服务器
麟城Lincoln1 小时前
【Linux笔记】nfs网络文件系统与autofs(nfsdata、autofs、autofs.conf、auto.master)
linux·网络·笔记·nfs·autofs
***似水流年***2 小时前
Linux任务管理与守护进程
linux·运维·服务器
python算法(魔法师版)2 小时前
.NET NativeAOT 指南
java·大数据·linux·jvm·.net
正经教主2 小时前
【基础】Windows开发设置入门4:Windows、Python、Linux和Node.js包管理器的作用和区别(AI整理)
linux·windows·python·包管理器
Zfox_3 小时前
RPM 包制作备查 &SRPM 包编译
linux·rpm·srpm