Win11 安装 WSL2 + Docker 新手友好教程(官方正版,实测成功)

0 阅读9分钟

本文为新手量身打造,全程使用官方下载渠道,从 WSL2 环境搭建、Docker 安装,到 WSL 与 Docker 关联、国内镜像加速,再到 Docker 数据迁移(避免 C 盘爆满),全流程实测成功,步骤清晰、无冗余,跟着操作就能顺利完成,从此开发、部署、运维畅通无阻!

一、前置准备(必看,避免踩坑)

1.1 系统要求

  • 操作系统:Windows 11 专业版/家庭版(均支持,实测家庭版可正常使用)
  • 硬件要求:开启 CPU 虚拟化(大部分电脑默认开启,后续有检查方法)
  • 内存要求:至少 4GB(推荐 8GB 及以上,避免运行卡顿)
  • 网络要求:可正常访问互联网(用于下载官方安装包,无需梯子)

1.2 提前检查 CPU 虚拟化是否开启

  1. 按下 Ctrl + Shift + Esc 打开任务管理器,切换到「性能」选项卡,点击左侧「CPU」;
  2. 查看右侧「虚拟化」状态,显示「已启用」则无需操作;显示「已禁用」则需要进入 BIOS 开启(不同品牌电脑 BIOS 开启方法不同,可百度“自己电脑品牌 + 开启 CPU 虚拟化”)。

二、第一步:安装 WSL2(官方一键安装,新手首选)

Win11 提供了 WSL 一键安装命令,无需手动开启功能、下载内核,全程自动完成,比旧版简单太多!

2.1 打开管理员 PowerShell

  1. 按下 Win + X,在弹出的菜单中选择「Windows 终端 (管理员)」(如果没有,选择「Windows PowerShell (管理员)」也可);
  2. 弹出“用户账户控制”提示,点击「是」,进入管理员模式(标题栏会显示「管理员」)。

2.2 执行官方一键安装命令

在 PowerShell 中输入以下命令,回车执行(复制粘贴即可,避免手滑输错):

wsl --install
  1. 命令执行后,会自动开启 WSL 相关功能、下载 WSL2 内核、安装默认的 Ubuntu 发行版(无需手动选择);
  2. 等待下载安装完成(耗时根据网络速度而定,约 5-15 分钟),完成后会提示「请重启电脑以完成安装」,点击「关闭终端」,重启电脑。

2.3 初始化 Ubuntu 系统

  1. 电脑重启后,会自动弹出 Ubuntu 终端(如果没有,在开始菜单搜索「Ubuntu」,点击打开);
  2. 首次打开会提示“正在安装,请勿关闭终端”,等待 1-2 分钟;
  3. 初始化完成后,会要求设置「用户名」和「密码」(用户名小写,密码输入时不显示,输入完成回车即可,记住密码,后续使用 WSL 会用到);
  4. 输入密码后,Ubuntu 终端即可正常使用,说明 WSL2 安装成功。

2.4 验证 WSL2 安装成功

  1. 重新打开管理员 PowerShell,输入以下命令:
wsl -l -v
  1. 若输出结果中,「NAME」为 Ubuntu,「STATE」为 Running,「VERSION」为 2,说明 WSL2 安装成功且正常运行。

三、第二步:安装 Docker Desktop(官方下载,无广告)

Docker 官方提供了 Windows 版 Docker Desktop,支持 WSL2 集成,全程官方下载,无需梯子,新手可直接操作。

3.1 官方下载 Docker Desktop

  1. 打开浏览器,访问 Docker 官方下载地址(国内可直接访问):www.docker.com/products/do…
  2. 点击页面中的「Download for Windows」按钮,自动下载最新版 Docker Desktop 安装包(安装包约 600MB,耗时根据网络而定);
  3. 下载完成后,找到安装包(默认在「下载」文件夹),双击打开。

3.2 安装 Docker Desktop

  1. 打开安装包后,无需修改任何设置(默认勾选「Use WSL 2 instead of Hyper-V」,正是我们需要的),直接点击「OK」;
  2. 等待安装完成(约 5-10 分钟),安装完成后,勾选「Start Docker Desktop when you log in」(可选,建议勾选,开机自动启动 Docker),点击「Close and restart」,电脑会自动重启。

3.3 首次启动 Docker Desktop

  1. 电脑重启后,Docker Desktop 会自动启动,首次启动会弹出「服务协议」,点击「Accept」(接受协议,个人非商业使用完全免费);
  2. 启动完成后,桌面右下角会出现鲸鱼图标,当图标变绿时,说明 Docker 正常运行(首次启动可能需要 1-2 分钟,耐心等待)。

3.4 验证 Docker 安装成功

  1. 打开 PowerShell(无需管理员权限),输入以下命令:
docker --version
  1. 若正常输出版本号(如 Docker version 29.3.1, build f2d74b7),说明 Docker 安装成功。

四、第三步:关联 WSL2 与 Docker(关键步骤,实现互通)

安装完成后,需要手动开启 Docker 与 WSL2 的集成,才能在 Ubuntu 终端中使用 Docker 命令,实现 Windows 和 WSL2 环境互通。

3.1 开启 WSL 集成

  1. 打开 Docker Desktop,点击右上角的「Settings」(设置图标,齿轮形状);
  2. 在左侧菜单中找到「Resources」(资源),点击子菜单「WSL Integration」(WSL 集成);
  3. 在「Enable integration with my default WSL distro」下方,找到「Ubuntu」,开启右侧的开关(变成蓝色即为开启);
  4. 点击右下角的「Apply & restart」,Docker 会自动重启,集成配置生效(重启约 1-2 分钟)。

3.2 验证关联成功

  1. 打开 Ubuntu 终端,输入以下命令:
docker --version
  1. 若正常输出版本号,说明 WSL2 与 Docker 关联成功;
  2. 再输入以下命令,测试 Docker 能否正常运行:
docker run hello-world
  1. 若输出「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 配置镜像加速

  1. 打开 Docker Desktop,点击右上角「Settings」→「Docker Engine」;
  2. 将右侧的配置内容,替换为以下完整配置(复制粘贴即可,确保 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"
  ]
}
  1. 点击右下角「Apply & restart」,Docker 重启后,镜像加速生效。

5.2 验证镜像加速生效

  1. 打开 Ubuntu 终端,输入以下命令,拉取测试镜像:
docker pull hello-world
  1. 若几秒内拉取完成,说明镜像加速生效;若仍超时,可检查配置是否正确,或重启 Docker 重试。

六、第五步:Docker 数据迁移到 D 盘(必做,避免 C 盘爆满)

Docker 默认将镜像、容器等数据存储在 C 盘,长期使用会占用大量 C 盘空间,我们将数据迁移到 D 盘(提前在 D 盘创建目录:D:\ProgramData\Docker\wsl),彻底解放 C 盘。

6.1 准备工作

  1. 关闭 Docker Desktop:右键桌面右下角鲸鱼图标 →「Quit Docker Desktop」,等待完全退出;
  2. 关闭 WSL2:打开管理员 PowerShell,输入以下命令:
wsl --shutdown
  1. 确认 D 盘目录已创建:D:\ProgramData\Docker\wsl(无则手动创建,路径不要有中文、空格)。

6.2 迁移 C 盘数据到 D 盘

  1. 打开文件资源管理器,进入 C 盘默认数据目录:C:\Users\你的用户名\AppData\Local\Docker\wsl;
  2. 右键「wsl」文件夹,选择「剪切」(注意:是剪切,不是复制,避免占用双倍空间);
  3. 进入 D 盘目录:D:\ProgramData\Docker\wsl,右键空白处,选择「粘贴」,等待剪切完成(耗时根据数据大小而定);
  4. 剪切完成后,C 盘原路径下的「wsl」文件夹会消失,数据已全部迁移到 D 盘。

6.3 创建符号链接(让 Docker 识别 D 盘数据)

  1. 打开管理员 PowerShell,输入以下完整命令(替换「你的用户名」为自己电脑的用户名,直接复制修改即可):
New-Item -ItemType SymbolicLink -Path "C:\Users\你的用户名\AppData\Local\Docker\wsl" -Target "D:\ProgramData\Docker\wsl"
  1. 执行成功后,会提示「符号链接已创建」,说明链接生效(Docker 会以为数据还在 C 盘,实际读取 D 盘数据)。

6.4 验证迁移成功

  1. 启动 Docker Desktop,等待鲸鱼图标变绿;
  2. 打开 Ubuntu 终端,执行 docker run hello-world,能正常运行说明迁移成功;
  3. 查看 C 盘和 D 盘空间,C 盘会释放大量空间,D 盘对应增加,说明数据已成功迁移。

七、全流程验证(确保环境完全可用)

完成以上所有步骤后,执行以下操作,验证整个环境是否正常:

  1. 打开 Ubuntu 终端,执行 docker --version,正常输出版本号;
  2. 执行 docker run hello-world,正常拉取并运行;
  3. 执行 docker pull nginx(拉取 Nginx 镜像),几秒内拉取完成(镜像加速生效);
  4. 查看 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 盘空间,从此开发、部署、运维畅通无阻!