Win11 安装 WSL2 + Docker 实战教程(官方正版,实测可用)
摘要
从零在 Windows 11 上安装 WSL2 与 Docker Desktop,并解决两个新手高频痛点:配置国内镜像加速解决拉取慢/超时,以及把 Docker 数据迁移到非系统盘避免 C 盘爆满,附常见问题排查表。
Win11 安装 WSL2 + Docker 实战教程(官方正版,实测可用)
引言
在 Windows 上做开发,WSL2(Windows Subsystem for Linux 2)+ Docker 是目前体验最好的组合之一:既能用上完整的 Linux 环境跑开发工具链,又能直接运行容器,还和 Windows 文件系统互通。
本文基于官方渠道、实测可用的流程,带你从零装好整套环境,并重点解决两个新手最容易踩的坑:
国内镜像拉取慢/超时:默认从 Docker Hub 拉取,配置国内加速后实测秒级完成;
Docker 数据撑爆 C 盘:默认数据落在 C 盘,迁移到 D 盘彻底解放系统盘。
环境说明:Windows 11 专业版 / 家庭版均可,实测家庭版正常。
一、前置准备
1.1 硬件与系统要求
系统:Windows 11(专业版 / 家庭版都支持)
CPU 虚拟化:需开启(多数机器默认已开)
内存:至少 4GB,推荐 8GB 以上,避免运行卡顿
网络:可正常访问互联网(下载官方安装包,无需代理)
1.2 检查 CPU 虚拟化是否开启
按
Ctrl + Shift + Esc打开任务管理器 → 切到「性能」→ 点左侧「CPU」;看右侧「虚拟化」状态:显示「已启用」即可;若「已禁用」,需进 BIOS 开启(搜索“电脑品牌 + 开启 CPU 虚拟化”按机型操作)。
二、安装 WSL2(官方一键命令)
Win11 提供了一键安装命令,无需手动开功能、下载内核,全程自动完成,比旧版简单太多。
2.1 打开管理员终端
按 Win + X → 选「Windows 终端 (管理员)」(没有就选「Windows PowerShell (管理员)」),弹窗点「是」,标题栏出现「管理员」即进入管理员模式。
2.2 执行一键安装
该命令会自动完成三件事:开启 WSL 相关功能 → 下载 WSL2 内核 → 安装默认 Ubuntu 发行版。等待 5–15 分钟,按提示重启电脑。
2.3 初始化 Ubuntu
重启后打开 Ubuntu(开始菜单搜索),等待 1–2 分钟安装完成,设置用户名(小写)和密码(输入时不显示,记好,后续常用)。
2.4 验证安装成功
输出中 NAME=Ubuntu、STATE=Running、VERSION=2 即表示 WSL2 安装成功且正常运行。
若
VERSION显示 1,执行wsl --set-default-version 2后重启再查。
三、安装 Docker Desktop
Docker 官方提供 Windows 版 Docker Desktop,原生支持 WSL2 集成。
3.1 官方下载
访问 https://www.docker.com/products/docker-desktop/ ,点「Download for Windows」(安装包约 600MB)。
3.2 安装
双击安装包,保持默认勾选 Use WSL 2 instead of Hyper-V(正是所需),点 OK;安装完成后建议勾选「Start Docker Desktop when you log in」,Close and restart。
3.3 启动与验证
重启后 Docker 自动启动,桌面右下角鲸鱼图标变绿即运行正常。PowerShell 中验证:
正常输出版本号(如 Docker version 29.3.1)即成功。
四、关联 WSL2 与 Docker(关键步骤)
要让 Ubuntu 终端里能直接用 docker 命令,必须手动开启 Docker 与 WSL2 的集成。
Docker Desktop → Settings → Resources → WSL Integration;
找到 Ubuntu,打开右侧开关 → Apply & restart。
验证:
看到 Hello from Docker! 即互通成功。
可选优化:免 sudo
默认在 Ubuntu 里执行 docker 需加 sudo,加入 docker 用户组后可省略:
五、配置国内镜像加速(必做)
Docker 默认从国外的 Docker Hub 拉取镜像,国内常慢甚至超时。替换镜像源后实测秒拉。
Docker Desktop → Settings → Docker Engine,把配置替换为:
点击 Apply & restart 后验证:
提示:阿里云镜像需登录容器镜像服务后台获取专属加速地址,速度通常更稳。
六、Docker 数据迁移到 D 盘(避免 C 盘爆满)
Docker 默认把镜像、容器等数据存在 C:\Users\<用户>\AppData\Local\Docker\wsl。长期使用会悄悄吃满 C 盘,迁移到 D 盘最稳妥。
6.1 准备工作
右键鲸鱼图标 → Quit Docker Desktop,等待完全退出;
管理员 PowerShell 执行
wsl --shutdown;在 D 盘建目录
D:\ProgramData\Docker\wsl(路径不要含中文或空格)。
6.2 迁移数据
把 C:\Users\<用户>\AppData\Local\Docker\wsl 剪切(不是复制)到 D:\ProgramData\Docker\wsl,等待完成。
6.3 创建符号链接
管理员 PowerShell 执行(把 <用户> 换成你的用户名):
成功后 Docker 仍以为数据在 C 盘,实际读的是 D 盘,C 盘空间立即释放。
若报
ResourceExists,说明 C 盘原 wsl 文件夹没剪切走,确认原路径下已无 wsl 文件夹再执行。
6.4 验证迁移
启动 Docker → docker run hello-world 正常 → 对比 C/D 盘空间,C 盘已释放、D 盘增加即成功。
七、常见问题排查
问题 | 原因 | 解决办法 |
|---|---|---|
| 默认版本未设为 2 |
|
Docker 启动报“WSL 2 集成异常” | 集成未生效 |
|
执行 docker 提示 permission denied | 当前用户不在 docker 组 | 执行第四节免 sudo 命令后重开终端 |
建符号链接报 ResourceExists | C 盘原 wsl 未删 | 确认已剪切走,原路径无 wsl 文件夹再执行 |
镜像加速后仍超时 | JSON 格式错误 / 源失效 | 检查 JSON(无多余逗号)、换镜像源、重启 Docker |
八、小结
整套流程跑完,你会得到一套完整、稳定、高效的本地环境:
WSL2 提供完整 Linux 环境,Docker 提供容器能力,两者互通;
镜像拉取走国内加速,秒级完成;
数据落在 D 盘,C 盘不再被悄悄吃满。
从此本地开发、部署、运维都能在这个统一环境里高效进行。如果后续想进一步把常用服务(数据库、中间件)也容器化,直接 docker compose 起一套即可,环境一致性远超手动安装。
延伸
Microsoft 官方《Install WSL》文档
Docker 官方《Install Docker Desktop on Windows》
下一篇可聊:用 Docker Compose 一键编排本地开发环境
相关文章
暂无相关文章
