Windows通过WSL2安装Docker

在 Win11 上通过 WSL2 安装 Docker Desktop 的步骤如下,需按顺序操作,确保每一步验证通过:
一、Windows启用 WSL 相关功能(必须步骤)
WSL2 需要依赖Windows的适用于Linux的Windows子系统和虚拟机平台功能,需先启用。
1. 以管理员身份打开PowerShell
- 按下Win + X,选择Windows PowerShell(管理员);
- 确认弹窗中选择「是」授予管理员权限。
2.启用WSL和虚拟机平台功能
在PowerShell中执行以下两条命令(分别启用两个核心功能):
#启用「适用于Linux的Windows子系统」
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用「虚拟机平台」(WSL2依赖的虚拟化功能)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完成后,必须重启电脑(否则功能不生效)。
二、安装WSL2内核更新包
WSL2需要特定的Linux内核组件,需手动安装(WSL1无需此步骤,但Docker需WSL2)。
1.下载内核更新包
访问微软官方链接下载:
适用于x64系统的WSL2 Linux 内核更新包
(如果是ARM架构处理器,需下载对应版本,通常PC为x64)。
2.安装内核更新包
双击下载的wsl_update_x64.msi,按提示完成安装(默认下一步即可)。
三、设置WSL默认版本为2
确保后续安装的Linux发行版默认使用WSL2(而非WSL1)。
在PowerShell中执行:
wsl --set-default-version 2
若提示「操作成功完成」,则说明设置生效。
四、安装Linux发行版(以Ubuntu为例)
Docker Desktop需依赖一个运行中的WSL2发行版,推荐安装Ubuntu(最常用)。
1.从微软商店安装Ubuntu
- 打开「微软商店」(Microsoft Store),搜索「Ubuntu」;
- 选择一个版本(推荐Ubuntu 204 LTS,长期支持更稳定),点击「安装」。
2.初始化Ubuntu
- 安装完成后,在开始菜单找到「Ubuntu 22.04 LTS」并启动;
- 首次启动会初始化系统(约1-2分钟),完成后需设置用户名和密码(注意:密码输入时不会显示,输完按回车即可);
- 用户名建议小写,后续sudo权限需要此密码。
验证是否为WSL2:在Ubuntu终端中执行:
wsl --list --verbose
若输出中「VERSION」列显示「2」,则说明当前发行版使用WSL2(若为1,执行wsl --set-version Ubuntu-22.04 2切换)。
五、安装Docker Desktop
Docker Desktop for Windows支持直接集成WSL2,无需单独在Linux中安装Docker。
1.下载Docker Desktop
访问Docker官网下载最新版本:
Docker Desktop for Windows
(需注册Docker账号,免费版可正常使用)。
2.安装Docker Desktop
- 双击下载的Docker Desktop Installer.exe,进入安装界面;
- 必须勾选:
- Use WSL 2 instead of Hyper-V(关键!指定使用WSL2作为后端);
- Add shortcut to desktop(可选,桌面快捷方式);
- 点击「OK」开始安装,完成后点击「Close and restart」(会自动重启Docker)。
六、配置Docker与WSL2集成
启动Docker Desktop后,需确保它能访问WSL2中的Ubuntu。
1.打开Docker Desktop设置
- 点击任务栏Docker图标(鲸鱼图标),选择「Settings」(齿轮图标);
- 左侧菜单选择「Resources」→「WSL Integration」。
2.启用WSL集成
- 勾选「Enable integration with my default WSL distro」;
- 在下方列表中找到已安装的Ubuntu(如「Ubuntu-22.04」),勾选它;
- 点击右下角「Apply&Restart」,等待Docker重启生效。
七、验证安装是否成功
通过Ubuntu终端测试Docker是否正常工作。
- 打开Ubuntu终端(开始菜单→Ubuntu);
- 执行以下命令检查Docker版本:
docker --version
若输出类似Docker version 24.0.5, build ced0996,说明Docker已正确安装。
运行测试容器(验证功能):
docker run hello-world
若输出「Hello from Docker!」等信息,说明Docker可正常使用(首次运行会自动下载镜像,需联网)。
常见问题解决
WSL启动失败:
检查BIOS中是否启用虚拟化(Intel VT-x/AMD-V),通常在「Security」或「Advanced」菜单中开启。
Docker无法连接WSL2:
确保WSL2发行版已启动(打开Ubuntu终端即可),并在Docker设置中重新启用WSL集成。
权限错误(如permission denied):
在Ubuntu中执行sudo usermod -aG docker $USER,将当前用户加入docker组(需重启终端生效)。
完成以上步骤后,即可在Win11中通过WSL2使用Docker Desktop,支持Linux容器和Windows容器(默认Linux容器)。
