
很多人在 Windows 上装 Docker Desktop,卡住的位置并不是安装过程本身,而是按下安装按钮之前的环境状态。安装包顺利跑完,双击图标后引擎起不来,于是开始怀疑安装包损坏、怀疑系统有问题,卸载重装一遍,结果还是一样。
真正的原因通常更简单:Docker Desktop 在 Windows 上默认使用 WSL 2 作为后端,引擎实际运行在一个 Linux 虚拟机里。WSL 2 是 Windows 上运行 Linux 的子系统,它让这个虚拟机不需要你手动维护。这套结构对宿主环境有一组明确的前置要求,任何一项不满足,故障都会推迟到启动阶段才暴露出来。
所以更省时间的做法不是失败之后排查,而是在安装之前把这 6 项逐一核对完。
先给结论:安装前要核对的 6 项- WSL 版本不低于 2.1.5
- Windows 版本与内部版本号在支持范围内
- 内存至少 8 GB
- 64 位 CPU,且已在 BIOS/UEFI 中开启硬件虚拟化
- 安装模式(per-user 还是 all-users)在安装前定好
- 先卸载 WSL 发行版里已有的 Docker Engine 与 Docker CLI
下面逐项说明怎么查、达标线是多少、不达标怎么处理。
第 1 项:WSL 版本Docker Desktop 要求 WSL 版本不低于 2.1.5,并建议直接使用最新版。版本偏低时,即使界面能打开,引擎也可能表现异常。
查看当前 WSL 版本:
wsl --version如果这条命令没有输出版本信息,说明系统里还是较早的内置版本。安装或升级:
wsl --installwsl --update系统提示需要重启时按提示重启。内核更新在重启后才生效,跳过重启会让人误以为升级没起作用。
第 2 项:Windows 版本与内部版本号Docker Desktop 对 Windows 版本有明确的支持矩阵:
| 系统 | 受支持版本 | 内部版本号 |
|---|---|---|
| Windows 10 64 位 | Enterprise / Pro / Education 22H2 | 19045 |
| Windows 11 64 位 | Enterprise / Pro / Education 23H2 或更高 | 22631 起 |
有两点需要注意:
- Windows Server 系列(包括 2019 与 2022)不在 Docker Desktop 的支持范围内,服务端场景需要改用其它容器方案。
- 如果要运行 Windows 容器,需要 Pro 或 Enterprise 版本;Home 与 Education 只能运行 Linux 容器。
查看本机版本的方法:按 Win + R,输入 winver 回车。弹窗里会同时显示版本号和内部版本号,直接和上表对照即可。
第 3 项:内存要求是至少 8 GB 内存。这个数字不是随手写的:
- WSL 2 虚拟机空转时约占 1.2 至 2 GB;
- 再加上引擎进程,以及一个常见的「Web 服务 + API + 数据库」组合,日常工作负载大约到 3 至 4 GB。
4 GB 是文档上的最低值,实际开发会相当紧张。如果机器正好是 8 GB,建议在做镜像构建这类内存密集操作前先关掉浏览器。
第 4 项:CPU 与硬件虚拟化要求是 64 位处理器且支持 SLAT(二级地址转换,一种让虚拟机直接访问内存、减少地址翻译开销的硬件能力),并在 BIOS/UEFI 中开启硬件虚拟化。
这一项不满足时,Docker Desktop 不是降级运行,而是直接拒绝启动——这也是「装完打不开」最常见的原因之一。
在 Windows 里确认虚拟化状态:按 Ctrl + Shift + Esc 打开任务管理器,切到「性能」标签,选中 CPU,右侧面板会显示「虚拟化:已启用」或「已禁用」。若显示已禁用,需要重启进入 BIOS/UEFI,打开对应开关后保存退出。
第 5 项:安装模式安装器会提供两种模式,差别比看上去大:
| 对比项 | per-user(按用户安装) | all-users(所有用户) |
|---|---|---|
| 安装位置 | 用户目录下 | 系统目录 |
| 管理员权限 | 不需要 | 需要提权 |
| 支持后端 | 仅 WSL 2 | WSL 2 或 Hyper-V |
| Windows 容器 | 不支持 | 支持 |
关键约束是:两种模式不能事后切换,只能卸载后重装。所以这件事必须在安装前决定。
判断方法很简单:只做 Linux 容器开发、这台机器只有你一个人用,选 per-user;多人共用这台机器,或者需要 Windows 容器,选 all-users。
第 6 项:清理 WSL 里已有的 Docker 组件这一项最容易被忽略。如果你之前按某些教程在 WSL 发行版内部直接装过 Docker Engine 或 Docker CLI,必须先卸载,再安装 Docker Desktop。
原因很直接:两者并存会造成守护进程与本地通信接口(socket)冲突。表现形式是引擎状态反复异常,而且很难从表象倒查到这两个并存安装。
收尾验证:两条命令安装完成后,打开一个新的终端窗口(新窗口很重要,环境变量变更只对新会话生效)执行:
docker --version再跑一次示例容器:
docker run --rm hello-world两条都能正常输出,才说明引擎确实可用,而不只是「安装成功」。第一条只证明客户端在,第二条才真正验证引擎能拉取并运行容器。
边界与坑- Windows Server 不适用。这份清单只针对 Docker Desktop,服务端环境请走独立的容器方案。
- 内存回收设置属于实验性功能。WSL 提供的自动内存回收开关能缓解内存占用,但它不是稳定特性,不建议当作长期依赖。
- 引擎数据默认放在系统盘。WSL 2 引擎的数据默认位于用户目录下,镜像与构建缓存会让它快速变大,建议安装后主动把存放位置改到空间更充裕的盘。
- 这份清单只管引擎能否起来。容器内部应用自身的启动失败,与本文的自查项无关。
- 版本与最低要求会变化。以上版本号以撰写时的要求为准,实际安装前请再核对一次。
把环境前置条件从「失败后的排查项」前移成「安装前的检查项」,是这类问题最省时间的处理方式。安装前花十分钟核对,比装完出问题后卸载重装要划算得多。
另外建议把本机实际通过的版本组合记下来,形成自己的环境基线。换机器或者重装系统时,这份基线就是最直接的对照依据——哪些版本是你亲测跑通的,一目了然。














