Win11 安装 WSL2 + Docker 实战教程（官方正版，实测可用）

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 --install 该命令会自动完成三件事：开启 WSL 相关功能 → 下载 WSL2 内核 → 安装默认 Ubuntu 发行版。等待 5–15 分钟，按提示重启电脑。 2.3 初始化 Ubuntu 重启后打开 Ubuntu（开始菜单搜索），等待 1–2 分钟安装完成，设置用户名（小写）和密码（输入时不显示，记好，后续常用）。 2.4 验证安装成功 wsl -l -v 输出中 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 正常输出版本号（如 Docker version 29.3.1）即成功。四、关联 WSL2 与 Docker（关键步骤）要让 Ubuntu 终端里能直接用 docker 命令，必须手动开启 Docker 与 WSL2 的集成。 Docker Desktop → Settings → Resources → WSL Integration；找到 Ubuntu，打开右侧开关 → Apply & restart。验证： docker --version docker run hello-world 看到 Hello from Docker! 即互通成功。可选优化：免 sudo 默认在 Ubuntu 里执行 docker 需加 sudo，加入 docker 用户组后可省略： sudo usermod -aG docker $USER newgrp docker # 刷新组权限，无需重启终端五、配置国内镜像加速（必做） Docker 默认从国外的 Docker Hub 拉取镜像，国内常慢甚至超时。替换镜像源后实测秒拉。 Docker Desktop → Settings → Docker Engine，把配置替换为： { "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "features": { "buildkit": true }, "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://dockerproxy.com" ] } 点击 Apply & restart 后验证： docker pull hello-world # 几秒内完成即生效提示：阿里云镜像需登录容器镜像服务后台获取专属加速地址，速度通常更稳。六、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 执行（把 <用户> 换成你的用户名）： New-Item -ItemType SymbolicLink ` -Path "C:\Users\<用户>\AppData\Local\Docker\wsl" ` -Target "D:\ProgramData\Docker\wsl" 成功后 Docker 仍以为数据在 C 盘，实际读的是 D 盘，C 盘空间立即释放。若报 ResourceExists，说明 C 盘原 wsl 文件夹没剪切走，确认原路径下已无 wsl 文件夹再执行。 6.4 验证迁移启动 Docker → docker run hello-world 正常 → 对比 C/D 盘空间，C 盘已释放、D 盘增加即成功。七、常见问题排查问题原因解决办法 wsl -l -v 显示 VERSION=1 默认版本未设为 2 wsl --set-default-version 2 后重启 Docker 启动报“WSL 2 集成异常” 集成未生效 wsl --shutdown → 重启 Docker → 重开 WSL 集成执行 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 一键编排本地开发环境