在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 系统是非常关键的信息。

相关推荐
JavaLearnerZGQ9 小时前
单机部署docker-nacos(通过下载nacos源码的方式)
运维·docker·容器
哦你看看10 小时前
Redis Sentinel哨兵集群
linux·redis·bootstrap·sentinel
草梅友仁10 小时前
RSS Impact 1.17.0 发布与 Docker 服务器迁移经验 | 2025 年第 44 周草梅周报
docker·开源·github
爱尔兰的楠小楠11 小时前
Windows上使用WSL2创建Ubuntu系统,实现无缝高效开发的体验
linux·windows·ubuntu
Fluency-1111 小时前
ubuntu中ssh连接root用户
linux·ubuntu·ssh
0wioiw011 小时前
Ubuntu(③vsftpd)
linux·服务器·ubuntu
行思理12 小时前
本地用docker开发的php 程序如何部署到阿里云的ecs上
阿里云·docker·容器
脚踏实地的大梦想家13 小时前
【Docker】P5 Docker Compose 实战指南:一键部署 WordPress + MySQL
mysql·docker·容器
cellurw13 小时前
Day75 RS-485 通信协议设计、串口编程与嵌入式系统部署实践
linux
醉卧雕龙舫 、14 小时前
一.docker基础概念
docker