1. 环境准备:启用 WSL 2
- Docker Desktop 在 Windows 上依赖 WSL 2 提供的 Linux 内核。
- WSL 2 部署参考:WSL 环境搭建与数据迁移指南
2. 安装 Docker Desktop
前往 Docker Desktop 官方下载页 下载最新版安装程序(.exe)。
安装过程中,请务必确保勾选 "Use WSL 2 instead of Hyper-V"(使用 WSL 2 而不是 Hyper-V)。这是默认选项,保持勾选即可。
3. 核心配置:配置国内镜像源(解决拉取慢)
由于网络原因,直接拉取 Docker Hub 镜像(如 nginx, mysql)通常会非常慢甚至失败。强烈建议配置国内镜像加速器。
操作步骤:
- 打开 Docker Desktop,点击右上角的 ⚙️ Settings。
- 选择 Docker Engine。
- 在 JSON 配置框中,添加
registry-mirrors字段。推荐使用以下 2026 年实测可用的镜像源:
json
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.1ms.run",
"https://docker.m.daocloud.io"
]
}
- 点击 Apply & restart。
4. 关键步骤:更改 Docker 数据存放路径(释放 C 盘空间)
Docker 默认会将虚拟磁盘数据(镜像、容器等)存放在 C 盘的 AppData 隐藏目录下。为了避免 C 盘爆满,强烈建议将其迁移至其他盘(如 D 盘)。
操作步骤:
- 确保 Docker Desktop 正在运行(左下角状态为 Engine running)。
- 点击右上角的 ⚙️ Settings(设置)。
- 在左侧菜单选择 Resources -> Advanced。
- 找到 Disk image location 选项,点击 Browse ,选择您想要存放数据的新目录(例如
D:\ProgramData\Docker\DockerDesktopWSL)。 - 点击右下角的 Apply & Restart。
- 在弹出的确认框中点击 Yes, move it。
💡 避坑提示 :Docker 会自动将现有的核心数据盘安全迁移到新位置。迁移完成后,C 盘可能仍会保留一个较小的 Docker 文件夹(存放日志和运行时配置),这是正常现象。
⚠️ 警告 :千万不要手动去剪切
C:\Users\你的用户名\AppData\Local\Docker\wsl文件夹,这会导致 Docker 启动异常或数据损坏!
5. 性能调优:解决文件读写慢
这是一个常被忽视但致命的问题:千万不要把项目代码放在 Windows 盘(C:\D:\)下!
- 原因 :Docker 运行在 WSL 2 (Linux) 中。如果你的代码在 Windows 盘(例如
C:\Users\...),Docker 访问文件需要跨系统(Win <-> Linux),I/O 性能会下降 10 倍以上。 - 正确做法 :将项目放在 WSL 2 的文件系统内。
- 路径 :在文件资源管理器地址栏输入
\\wsl$\Ubuntu\home\你的用户名\。 - 操作 :把你的代码克隆或移动到这个目录下,然后再在这个目录下执行
docker compose up。
- 路径 :在文件资源管理器地址栏输入
6. 验证安装
在 PowerShell 或 WSL 终端中执行以下命令:
powershell
# 查看 Docker 版本
docker --version
# 查看 Compose 版本 (注意是空格,不是下划线)
docker compose version
# 拉取一个测试镜像 (应该会很快)
docker pull nginx:alpine
7. 常见问题排查
- 错误:WSL 2 installation is incomplete :
- 请确保已安装 WSL 2 Linux 内核更新包。
- 错误:port is already allocated :
- 端口被占用,修改
docker-compose.yml中的宿主机端口(如"8081:80")。
- 端口被占用,修改
- Docker Desktop 启动失败 :
- 检查 BIOS 设置,确保 Virtualization (虚拟化) 已开启。
结语 :
至此,你已经拥有了一个基于 WSL2 的高性能 Docker 环境。记得始终在 \\wsl$\ 路径下进行开发,配合国内镜像源,你的开发体验将与原生 Linux 几乎无异。