本文为新手量身打造,全程使用官方下载渠道,从 WSL2 环境搭建、Docker 安装,到 WSL 与 Docker 关联、国内镜像加速,再到 Docker 数据迁移(避免 C 盘爆满),全流程实测成功,步骤清晰、无冗余,跟着操作就能顺利完成,从此开发、部署、运维畅通无阻!
一、前置准备(必看,避免踩坑)
1.1 系统要求
- 操作系统:Windows 11 专业版/家庭版(均支持,实测家庭版可正常使用)
- 硬件要求:开启 CPU 虚拟化(大部分电脑默认开启,后续有检查方法)
- 内存要求:至少 4GB(推荐 8GB 及以上,避免运行卡顿)
- 网络要求:可正常访问互联网(用于下载官方安装包,无需梯子)
1.2 提前检查 CPU 虚拟化是否开启
- 按下
Ctrl + Shift + Esc打开任务管理器,切换到「性能」选项卡,点击左侧「CPU」; - 查看右侧「虚拟化」状态,显示「已启用」则无需操作;显示「已禁用」则需要进入 BIOS 开启(不同品牌电脑 BIOS 开启方法不同,可百度“自己电脑品牌 + 开启 CPU 虚拟化”)。
二、第一步:安装 WSL2(官方一键安装,新手首选)
Win11 提供了 WSL 一键安装命令,无需手动开启功能、下载内核,全程自动完成,比旧版简单太多!
2.1 打开管理员 PowerShell
- 按下
Win + X,在弹出的菜单中选择「Windows 终端 (管理员)」(如果没有,选择「Windows PowerShell (管理员)」也可); - 弹出“用户账户控制”提示,点击「是」,进入管理员模式(标题栏会显示「管理员」)。
2.2 执行官方一键安装命令
在 PowerShell 中输入以下命令,回车执行(复制粘贴即可,避免手滑输错):
wsl --install
- 命令执行后,会自动开启 WSL 相关功能、下载 WSL2 内核、安装默认的 Ubuntu 发行版(无需手动选择);
- 等待下载安装完成(耗时根据网络速度而定,约 5-15 分钟),完成后会提示「请重启电脑以完成安装」,点击「关闭终端」,重启电脑。
2.3 初始化 Ubuntu 系统
- 电脑重启后,会自动弹出 Ubuntu 终端(如果没有,在开始菜单搜索「Ubuntu」,点击打开);
- 首次打开会提示“正在安装,请勿关闭终端”,等待 1-2 分钟;
- 初始化完成后,会要求设置「用户名」和「密码」(用户名小写,密码输入时不显示,输入完成回车即可,记住密码,后续使用 WSL 会用到);
- 输入密码后,Ubuntu 终端即可正常使用,说明 WSL2 安装成功。
2.4 验证 WSL2 安装成功
- 重新打开管理员 PowerShell,输入以下命令:
wsl -l -v
- 若输出结果中,「NAME」为 Ubuntu,「STATE」为 Running,「VERSION」为 2,说明 WSL2 安装成功且正常运行。
三、第二步:安装 Docker Desktop(官方下载,无广告)
Docker 官方提供了 Windows 版 Docker Desktop,支持 WSL2 集成,全程官方下载,无需梯子,新手可直接操作。
3.1 官方下载 Docker Desktop
- 打开浏览器,访问 Docker 官方下载地址(国内可直接访问):www.docker.com/products/do…;
- 点击页面中的「Download for Windows」按钮,自动下载最新版 Docker Desktop 安装包(安装包约 600MB,耗时根据网络而定);
- 下载完成后,找到安装包(默认在「下载」文件夹),双击打开。
3.2 安装 Docker Desktop
- 打开安装包后,无需修改任何设置(默认勾选「Use WSL 2 instead of Hyper-V」,正是我们需要的),直接点击「OK」;
- 等待安装完成(约 5-10 分钟),安装完成后,勾选「Start Docker Desktop when you log in」(可选,建议勾选,开机自动启动 Docker),点击「Close and restart」,电脑会自动重启。
3.3 首次启动 Docker Desktop
- 电脑重启后,Docker Desktop 会自动启动,首次启动会弹出「服务协议」,点击「Accept」(接受协议,个人非商业使用完全免费);
- 启动完成后,桌面右下角会出现鲸鱼图标,当图标变绿时,说明 Docker 正常运行(首次启动可能需要 1-2 分钟,耐心等待)。
3.4 验证 Docker 安装成功
- 打开 PowerShell(无需管理员权限),输入以下命令:
docker --version
- 若正常输出版本号(如 Docker version 29.3.1, build f2d74b7),说明 Docker 安装成功。
四、第三步:关联 WSL2 与 Docker(关键步骤,实现互通)
安装完成后,需要手动开启 Docker 与 WSL2 的集成,才能在 Ubuntu 终端中使用 Docker 命令,实现 Windows 和 WSL2 环境互通。
3.1 开启 WSL 集成
- 打开 Docker Desktop,点击右上角的「Settings」(设置图标,齿轮形状);
- 在左侧菜单中找到「Resources」(资源),点击子菜单「WSL Integration」(WSL 集成);
- 在「Enable integration with my default WSL distro」下方,找到「Ubuntu」,开启右侧的开关(变成蓝色即为开启);
- 点击右下角的「Apply & restart」,Docker 会自动重启,集成配置生效(重启约 1-2 分钟)。
3.2 验证关联成功
- 打开 Ubuntu 终端,输入以下命令:
docker --version
- 若正常输出版本号,说明 WSL2 与 Docker 关联成功;
- 再输入以下命令,测试 Docker 能否正常运行:
docker run hello-world
- 若输出「Hello from Docker!」相关信息,说明关联完全成功,Docker 可在 WSL2 中正常使用。
3.3 优化:免 sudo 执行 Docker 命令(可选,提升体验)
默认情况下,在 Ubuntu 终端中执行 Docker 命令需要加 sudo(输入密码),可通过以下命令设置免 sudo,提升使用体验:
# 将当前用户加入 docker 用户组
sudo usermod -aG docker $USER
# 刷新组权限(无需重启终端)
newgrp docker
设置完成后,再执行 docker run hello-world,无需输入密码即可正常运行。
五、第四步:配置国内镜像加速(必做,解决拉取慢/超时)
Docker 默认从国外的 Docker Hub 拉取镜像,国内网络访问较慢,甚至会超时,配置国内镜像加速后,拉取速度会大幅提升(实测秒拉)。
5.1 配置镜像加速
- 打开 Docker Desktop,点击右上角「Settings」→「Docker Engine」;
- 将右侧的配置内容,替换为以下完整配置(复制粘贴即可,确保 JSON 格式正确,无多余符号):
{
"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 重启后,镜像加速生效。
5.2 验证镜像加速生效
- 打开 Ubuntu 终端,输入以下命令,拉取测试镜像:
docker pull hello-world
- 若几秒内拉取完成,说明镜像加速生效;若仍超时,可检查配置是否正确,或重启 Docker 重试。
六、第五步:Docker 数据迁移到 D 盘(必做,避免 C 盘爆满)
Docker 默认将镜像、容器等数据存储在 C 盘,长期使用会占用大量 C 盘空间,我们将数据迁移到 D 盘(提前在 D 盘创建目录:D:\ProgramData\Docker\wsl),彻底解放 C 盘。
6.1 准备工作
- 关闭 Docker Desktop:右键桌面右下角鲸鱼图标 →「Quit Docker Desktop」,等待完全退出;
- 关闭 WSL2:打开管理员 PowerShell,输入以下命令:
wsl --shutdown
- 确认 D 盘目录已创建:D:\ProgramData\Docker\wsl(无则手动创建,路径不要有中文、空格)。
6.2 迁移 C 盘数据到 D 盘
- 打开文件资源管理器,进入 C 盘默认数据目录:C:\Users\你的用户名\AppData\Local\Docker\wsl;
- 右键「wsl」文件夹,选择「剪切」(注意:是剪切,不是复制,避免占用双倍空间);
- 进入 D 盘目录:D:\ProgramData\Docker\wsl,右键空白处,选择「粘贴」,等待剪切完成(耗时根据数据大小而定);
- 剪切完成后,C 盘原路径下的「wsl」文件夹会消失,数据已全部迁移到 D 盘。
6.3 创建符号链接(让 Docker 识别 D 盘数据)
- 打开管理员 PowerShell,输入以下完整命令(替换「你的用户名」为自己电脑的用户名,直接复制修改即可):
New-Item -ItemType SymbolicLink -Path "C:\Users\你的用户名\AppData\Local\Docker\wsl" -Target "D:\ProgramData\Docker\wsl"
- 执行成功后,会提示「符号链接已创建」,说明链接生效(Docker 会以为数据还在 C 盘,实际读取 D 盘数据)。
6.4 验证迁移成功
- 启动 Docker Desktop,等待鲸鱼图标变绿;
- 打开 Ubuntu 终端,执行
docker run hello-world,能正常运行说明迁移成功; - 查看 C 盘和 D 盘空间,C 盘会释放大量空间,D 盘对应增加,说明数据已成功迁移。
七、全流程验证(确保环境完全可用)
完成以上所有步骤后,执行以下操作,验证整个环境是否正常:
- 打开 Ubuntu 终端,执行
docker --version,正常输出版本号; - 执行
docker run hello-world,正常拉取并运行; - 执行
docker pull nginx(拉取 Nginx 镜像),几秒内拉取完成(镜像加速生效); - 查看 D:\ProgramData\Docker\wsl 目录,有数据文件(说明数据迁移成功)。
以上操作均正常,说明 Win11 + WSL2 + Docker 环境搭建完成,可正常用于开发、部署、运维。
八、新手常见问题排查(实测踩坑总结)
问题1:WSL 安装后,执行 wsl -l -v 显示 VERSION 为 1
解决:打开管理员 PowerShell,执行wsl --set-default-version 2,然后重启电脑,重新查看即可。
问题2:Docker 启动失败,提示“WSL 2 集成异常”
解决:关闭 Docker 和 WSL(执行wsl --shutdown),重新启动 Docker,再次开启 WSL 集成,点击「Apply & restart」。
问题3:Ubuntu 终端执行 Docker 命令,提示“permission denied”
解决:执行「第三步 3.3」的免 sudo 配置命令,重新打开终端即可。
问题4:创建符号链接时,提示“ResourceExists”
解决:确认 C 盘原「wsl」文件夹已剪切到 D 盘,C 盘原路径下无「wsl」文件夹,再重新执行符号链接命令。
问题5:镜像加速配置后,拉取镜像仍超时
解决:检查 Docker Engine 配置是否正确(JSON 格式无错误、无多余逗号),重启 Docker 后重试;若仍不行,可替换配置中的镜像源。
九、总结
本教程全程使用官方下载渠道,实测 Win11 家庭版/专业版均可正常运行,从 WSL2 安装、Docker 安装,到关联、加速、数据迁移,每一步都针对新手优化,避免复杂操作和冗余步骤。
完成搭建后,你将拥有一套完整、稳定、高效的开发环境,Windows 和 WSL2 环境互通,Docker 拉取速度飞快,数据存储在 D 盘不占用 C 盘空间,从此开发、部署、运维畅通无阻!