docker desktop 在 windows 上真正跑在 wsl2 内核上需打通底层、引擎与网络三环:先以管理员运行 wsl --install 或启用虚拟化组件并设默认版本为2,再安装 docker desktop 并在设置中启用 wsl2 引擎和对应发行版集成,最后配置 /etc/wsl.conf 禁用自动 dns、手动写入公共 dns,并在 docker engine 中添加国内镜像源,执行 wsl --shutdown 重启生效。
让 docker desktop 在 windows 上真正跑在 wsl2 内核上,不是装完就完事——关键是要打通 wsl2 底层、docker 引擎和网络三环,缺一不可。配置到位后,容器启动快、文件 i/o 稳、镜像拉取不卡顿,开发体验接近原生 linux。
确认并强制 WSL2 为默认运行环境
WSL1 和 WSL2 完全不同,Docker Desktop 只支持 WSL2 后端:
- 以管理员身份打开 PowerShell,运行
wsl --list --verbose,检查发行版 VERSION 是 2 且 STATE 为 Running - 若未安装,直接执行
wsl --install(Win10 2004+/Win11 支持),系统会自动启用功能、下载内核、装好 Ubuntu - 已有发行版但版本是 1?用
wsl --set-version Ubuntu-22.04 2升级(把名字换成你实际的发行版) - 全局设为默认:运行
wsl --set-default-version 2
开启虚拟化支持并更新 WSL2 内核
WSL2 本质是轻量 VM,依赖 Windows 虚拟化能力:
- 管理员 PowerShell 中依次执行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartdism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart - 重启电脑
- 去 Microsoft 官网下载最新 WSL2 Linux 内核更新包(.msi),双击安装
- 再次重启——内核更新必须生效,否则 Docker 启动报错
安装 Docker Desktop 并绑定 WSL2 引擎
旧版默认走 Hyper-V,必须手动指定 WSL2:
- 从 Docker 官网下载 v4.30+ 稳定版安装包(避免第三方渠道)
- 安装时勾选 “Install required Windows components for WSL2”
- 首次启动后,右键任务栏 Docker 图标 → Settings → General → 勾选 Use the WSL 2 based engine
- 切换到 Resources → WSL Integration → 开启你的发行版(如 Ubuntu-22.04),点击 Apply & Restart
优化网络与镜像加速提升稳定性
国内用户常卡在 DNS 解析失败或镜像拉取慢,这两步不能跳:
- 在 WSL 中编辑
/etc/wsl.conf,加入:[network]generateResolvConf = false - 再编辑
/etc/resolv.conf,清空内容,写入:nameserver 114.114.114.114nameserver 8.8.8.8 - Docker Desktop 设置 → Docker Engine → 替换 JSON 配置,加入国内镜像源:
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://mirror.aliyuncs.com"] - 最后执行
wsl --shutdown,再重新打开终端生效
做完这四步,运行 docker run hello-world 和 docker info | grep "Server Version" 都应正常返回,底部状态栏显示 Engine running,说明 WSL2 后端已稳定接管。











