在 Windows 上使用 Docker(特别是 Docker Desktop),需要开启以下硬件支持和系统要求,核心是 Windows Subsystem for Linux 2 (WSL2) 和 虚拟化技术:
✅ 必需的硬件支持(底层依赖)
| 项目 | 要求说明 | 如何验证/启用 |
|---|---|---|
| 64位处理器(x86-64 或 ARM64) | Docker Desktop 仅支持 64 位 CPU(不支持 32 位)。ARM64(如 Windows on ARM 设备)也受支持(需 Windows 11 22H2+)。 | 在「设置 > 系统 > 关于」中查看“系统类型”。 |
| 硬件虚拟化支持(Intel VT-x / AMD-V) | 必须启用:Docker Desktop 默认使用 WSL2,而 WSL2 依赖 Hyper-V 或基于虚拟化的平台(如 Windows Hypervisor Platform, WHPX),均需 CPU 级虚拟化支持。 | ✅ 进入 BIOS/UEFI 设置(开机时按 F2/F10/Del 等),启用: • Intel 平台:Intel Virtualization Technology (VT-x)、Intel VT-d(可选但推荐) • AMD 平台:SVM Mode(或 AMD-V) ⚠️ 若禁用,WSL2 和 Docker Desktop 将无法启动,报错如 WslRegisterDistribution failed: 0x80370102。 |
| 二级地址转换(SLAT / EPT / RVI) | WSL2 强制要求支持 SLAT(Second Level Address Translation),现代主流 CPU(Intel Core i3/i5/i7/i9 第二代及以上,AMD Ryzen 及 A10/A12 后期型号)基本都支持。 | 通常无需手动开启;可通过 PowerShell 检查:powershell<br>systeminfo | find "Hyper-V Requirements"<br>若显示 Yes 表示满足。 |
✅ 必需的 Windows 系统级功能(需手动启用)
这些不是“硬件”,但依赖硬件支持,且必须开启:
| 功能 | 作用 | 启用方式 |
|---|---|---|
| Windows Subsystem for Linux (WSL) + WSL2 | Docker Desktop for Windows 默认后端为 WSL2(性能更好、兼容性更强),替代旧版 Hyper-V 模式。 | 1. 以管理员身份运行 PowerShell:powershell<br>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart<br>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart<br>2. 重启电脑 3. 下载并安装 WSL2 内核更新包(Windows 10 2004+/Win11 自带) 4. 设置默认版本: wsl --set-default-version 2 |
| 虚拟机平台(Virtual Machine Platform) | 提供轻量级虚拟化接口(WHPX),是 WSL2 的运行基础。 | 同上,通过 dism 启用。 |
| (可选但推荐)Windows Hypervisor Platform (WHPX) | 增强虚拟化兼容性(尤其对某些防病毒软件或企业环境),部分场景下提升稳定性。 | 同样通过 dism 启用:dism.exe /online /enable-feature /featurename:Windows-Hypervisor-Platform /all /norestart |
⚠️ 注意:
- 不建议启用传统 Hyper-V(除非必要):Docker Desktop 官方推荐 WSL2 模式(更轻量、资源占用低、与 Windows 集成更好);启用完整 Hyper-V 会禁用某些虚拟化软件(如 VMware Workstation/VirtualBox)——二者存在冲突。
- 若你必须使用 Hyper-V 后端(如企业策略限制),则需启用 Hyper-V 功能(
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All),但此时 WSL2 仍可共存(需关闭 Hyper-V 后再启 WSL2?不,现代 WSL2 已适配 WHPX,无需完整 Hyper-V)。
✅ 其他系统要求(非硬件,但关键)
| 项目 | 要求 |
|---|---|
| 操作系统版本 | • Windows 10 64-bit:版本 2004(Build 19041)或更高 • Windows 11:所有正式版均支持(推荐 22H2+) • 不支持 Windows Home(早期)? → ❌ 错误认知!✅ Windows 10/11 Home 完全支持 Docker Desktop(只要满足 WSL2 要求,因 WSL2 不依赖 Hyper-V,而是 WHPX)。 |
| 内存 & 存储 | • 推荐 ≥ 4 GB RAM(Docker Desktop + WSL2 至少需 2–3 GB) • ≥ 256 MB 可用磁盘空间(镜像/容器会占用额外空间) |
| 用户权限 | 需要 管理员权限 安装 Docker Desktop 和启用 WSL/虚拟化功能。 |
🔍 快速自查命令(PowerShell 管理员模式)
# 1. 检查虚拟化是否启用
systeminfo | find "Hyper-V Requirements"
# 2. 检查 WSL 状态
wsl -l -v
# 3. 检查 Windows 版本
winver # 或:[System.Environment]::OSVersion.Version
# 4. 查看 CPU 是否支持 SLAT(需管理员)
coreinfo -v # 下载 Sysinternals Coreinfo 工具,运行后找 "*SLAT*" 行
✅ 总结:开启步骤清单(推荐顺序)
- ✅ 进 BIOS/UEFI → 启用 VT-x(Intel)或 SVM(AMD)
- ✅ Windows 中以管理员运行 PowerShell → 启用 WSL 和 VirtualMachinePlatform
- ✅ 重启电脑
- ✅ 安装 WSL2 内核更新(如未自动更新)
- ✅ 运行
wsl --update && wsl --set-default-version 2 - ✅ 下载安装 Docker Desktop for Windows
- ✅ 首次启动 Docker Desktop → 勾选 "Use the WSL 2 based engine"(默认已选)
如仍有问题(如 Docker Desktop starting… 卡住),常见原因:
- BIOS 中虚拟化未开启(最常见!)
- Windows 更新未完成(尤其是累积更新 KB500xx)
- 安全软件(如 McAfee、Bitdefender)拦截 WSL2/Hypervisor
- 使用了过时的 Windows 版本(如 Win10 1809)
需要我帮你诊断具体错误日志?欢迎贴出报错信息 👇
云小栈