Docker Desktop安装后必须手动启用WSL2后端:一、确认WSL2已就绪且设为默认版本,运行wsl --list --verbose检查发行版VERSION为2且STATE为Running;二、安装时勾选“Install required Windows components for WSL2”;三、设置中开启Use the WSL 2 based engine及对应发行版集成并Apply & Restart;四、通过docker info和docker run hello-world验证是否真正由WSL2内核托管。

必须手动开启,Docker Desktop 安装完默认不启用 WSL2 后端,哪怕系统已装好 WSL2。
确认 WSL2 已就绪且为默认版本
这是前提,跳过会导致后续设置灰显或报错 WSL integration is not available:
- 管理员 PowerShell 中运行
wsl --list --verbose,检查输出里至少有一个发行版的VERSION是2且STATE是Running - 若无任何发行版,直接运行
wsl --install(Win10 2004+/Win11 支持) - 若有发行版但 VERSION 是 1,用
wsl --set-version Ubuntu-22.04 2升级(把名字换成你实际的发行版名) - 全局设为默认:
wsl --set-default-version 2
安装 Docker Desktop 时勾选关键组件
旧版安装包不带 WSL2 支持,v4.30+ 才稳定;漏掉组件会导致引擎无法绑定:
- 从 Docker 官网 下载最新安装包(非第三方渠道)
- 右键安装程序 → “以管理员身份运行”
- 安装向导中必须勾选:
Install required Windows components for WSL2(自动启用虚拟机平台、更新内核依赖) - 安装完成后务必重启电脑——这步不是可选,是 WSL2 内核加载的硬性要求
在 Settings 中启用 WSL2 引擎与发行版集成
很多人只做了前两步,却卡在这一步:设置不生效或容器在 WSL 中执行失败,往往是因为没点 Apply & Restart 或发行版开关没开:
- 首次启动 Docker Desktop 后,右键任务栏鲸鱼图标 →
Settings - 左侧选
General→ 勾选Use the WSL 2 based engine - 左侧切到
Resources→WSL Integration→ 开启Enable integration with my default WSL distro - 在下方列表中,找到你的发行版(如
Ubuntu-22.04),确保其右侧开关是绿色 - 点击
Apply & Restart—— 不点这个,配置不会写入 WSL 实例,docker命令在终端里会提示Cannot connect to the Docker daemon
验证是否真正跑在 WSL2 上
光看界面绿了不够,得进 WSL 终端实测,否则可能只是“看起来启用”,实际仍走 Hyper-V 或 fallback 模式:
- 打开 Ubuntu 终端,执行
docker info | grep "Server Version\|Default Runtime",输出中应含wsl2字样 - 运行
docker run --rm hello-world,成功输出说明守护进程已由 WSL2 内核托管 - 关键观察点:
docker info中的KernelVersion应该是 Linux 内核号(如5.15.133.1-microsoft-standard-WSL2),不是 Windows 版本号 - 如果
docker ps返回空但没报错,再查systemctl is-active docker(需先配好wsl.conf启用 systemd)——很多网络问题其实源于 WSL2 里dockerd根本没起来
最容易被忽略的是 wsl --shutdown 后再重启终端——改完 WSL Integration 设置后,旧的 WSL 实例仍缓存着旧环境变量和挂载点,不彻底关闭就不会加载新配置。这点在调试 DNS 或镜像拉取失败时尤为关键。











