Docker Desktop 是 Windows 上最省心的容器运行环境,但很多人第一次安装会卡在 WSL2、虚拟化、引擎启动失败等问题。本教程按“先把系统底座弄对 → 再装 Docker → 最后做验证与排错”的顺序写,照做即可在本机跑起容器。
1)确认系统版本
建议 Windows 10 21H2+ 或 Windows 11。版本太旧会导致 WSL2 更新失败或 Docker 无法启用后端。
2)确认 CPU 虚拟化已开启
任务管理器 → 性能 → CPU,查看“虚拟化:已启用”。若显示未启用,需要进 BIOS/UEFI 打开 Intel VT-x / AMD-V(不同品牌名称可能是 Virtualization、SVM、VT-d 等)。
3)关闭冲突的“第三方虚拟机独占”设置(可选)
如果你安装过旧版虚拟机软件,出现 Hyper-V/WSL2 冲突时再处理即可,不必提前折腾。
1)以管理员身份打开 PowerShell,依次执行:
wsl --install wsl --update wsl --set-default-version 2如果你已装过 WSL,仍建议执行 wsl --update 确保内核是新版本。
2)安装一个 Linux 发行版(Ubuntu 最常用)
Microsoft Store 搜索 Ubuntu → 安装 → 第一次启动会让你设置用户名/密码。这个发行版将作为 Docker 的 WSL2 后端环境之一。
3)验证 WSL 状态
wsl -l -v看到你的发行版 VERSION 为 2,说明 WSL2 正常。
1)下载并安装
从 Docker Desktop 官方页面下载安装包,默认选项一般即可。安装过程中如果提示启用 WSL2 相关组件,选择启用。
2)首次启动设置(关键)
打开 Docker Desktop → Settings:
- General:勾选“Use the WSL 2 d engine”(使用 WSL2 引擎)。
- Resources → WSL Integration:启用你常用的发行版(例如 Ubuntu)。
3)(可选)配置镜像加速/代理
如果你所在网络拉取镜像很慢,可在 Docker Desktop 的设置里配置代理,或在企业网络中按 IT 要求设置。注意:本教程不涉及绕过付费/破解等不合规操作。
1)在 PowerShell/Windows Terminal 执行:
docker version docker info能输出 Client/Server 信息,说明引擎已启动。
2)跑一个 hello-world:
docker run --rm hello-world看到“Hello from Docker!”即成功。
3)跑一个 Web 容器并访问:
docker run --rm -p 8080:80 nginx浏览器打开 http://127.0.0.1:8080,看到 Nginx 欢迎页说明端口映射正常。
报错1:WSL 2 installation is incomplete / WSL 内核过旧
处理:执行 wsl --update,然后重启电脑;再执行 wsl -l -v 确认版本为 2。
报错2:Docker Engine 启动失败(一直 Starting…)
处理思路:
- 先重启 Docker Desktop;再重启 Windows。
- Docker Desktop → Settings → Resources → WSL Integration:确认已对目标发行版开启。
- 执行 wsl --shutdown 后再打开 Docker Desktop(等同于重启 WSL2 子系统)。
报错3:虚拟化未开启 / Hypervisor is not running
处理:回到“安装前检查”,在 BIOS/UEFI 打开虚拟化;Windows 功能里启用 WSL 相关组件后重启。
报错4:拉取镜像超时(网络问题)
处理:确认网络与 DNS;企业环境下按要求配置 HTTP/HTTPS 代理;必要时更换网络。不要使用任何破解/绕过付费的方式。
报错5:端口被占用(例如 8080/80)
处理:换一个端口,例如:
docker run --rm -p 18080:80 nginx- 把项目代码放在 WSL 的 Linux 文件系统里(例如 \wsl$Ubuntuhome你的用户名),大项目读写更快。
- 不要随意给 Docker 分配过高资源;遇到卡顿再逐步调 CPU/内存。
- 习惯用 docker ps、docker logs、docker stop 管理容器,排错效率会大幅提升。
完成后,你至少能做到三件事:能看到 docker info 正常输出、能跑通 hello-world、能用 nginx 在本机打开网页。如果其中任何一步失败,就回到“常见报错排查”,按顺序逐项排除即可。