Windows 安装 Docker Desktop 到 D 盘完整教程(含新版迁移方案)
✅ 适用版本:Docker Desktop ≥ 4.33
✅ 支持:Windows 10/11 + WSL2
✅ 目标:将 Docker 完整安装与数据存储迁移到 D 盘
📦 环境说明
| 项目 | 示例 |
|---|---|
| 系统版本 | Windows 10/11 64位 |
| 虚拟层 | WSL2(非 Hyper-V) |
| Linux 发行版 | Ubuntu 22.04 |
| 安装包路径 | D:\aiTools\archive\docker\DockerDesktop-4.43.2-Windows-x86.exe |
| 目标安装路径 | D:\aiTools\docker |
| 数据迁移路径 | D:\aiTools\docker-data |
🟢 场景一:首次安装 Docker Desktop 到 D 盘
1️⃣ 命令行静默安装
以 管理员身份 打开 PowerShell,执行:
Start-Process "D:\aiTools\archive\docker\DockerDesktop-4.43.2-Windows-x86.exe" -ArgumentList "install --quiet --installation-dir=D:\aiTools\docker" -Wait 💡 提示:--installation-dir参数可将程序和 WSL 数据同时安装到 D 盘,避免默认落在 C 盘。
2️⃣ 启动 Docker Desktop
Start-Process "D:\aiTools\docker\Docker Desktop.exe" 首次启动会自动创建:
docker-desktop(新版只有一个发行版)- 自动生成虚拟磁盘
D:\aiTools\docker\wsl\data\ext4.vhdx
3️⃣ 验证是否安装成功
docker --version docker run hello-world 若输出:
Hello from Docker! 说明 Docker 引擎与网络都正常启动 ✅
🟡 场景二:已安装 Docker,迁移到 D 盘
💡 适用于之前安装在 C 盘的用户。
新版 Docker Desktop 仅有docker-desktop分发,无需迁移docker-desktop-data。
1️⃣ 停止 Docker 服务
net stop com.docker.service wsl --shutdown 2️⃣ 导出并迁移 Docker 数据
# 导出当前 docker-desktop 数据 wsl --export docker-desktop "D:\aiTools\docker-data\docker-desktop.tar" # 注销旧分发 wsl --unregister docker-desktop # 导入到 D 盘 wsl --import docker-desktop "D:\aiTools\docker-data" "D:\aiTools\docker-data\docker-desktop.tar" --version 2 🔍 新版中没有docker-desktop-data,所以只需迁移docker-desktop。
3️⃣ 重新启动 Docker Desktop
Start-Process "D:\aiTools\docker\Docker Desktop.exe" 检查容器是否正常:
docker ps 能列出容器即迁移成功 🎉
所有镜像、卷与网络配置均保持不变。
🧰 常见问题与解决方案
| 问题 | 解决方案 |
|---|---|
| 安装报错:找不到 WSL | 打开 Windows 功能 → 勾选 “适用于 Linux 的子系统” 和 “虚拟机平台” → 重启后执行 wsl --install |
| Docker 启动缓慢或卡死 | 执行 wsl --shutdown 后重新打开 Docker Desktop |
| Docker Desktop 一直转圈 | 检查 D 盘权限:icacls "D:\aiTools\docker" /grant "%USERNAME%:F" /T /C |
| 安装报错:proxy 未启动 | 重新执行安装命令并确认无残留 wsl --unregister docker-desktop* |
| 数据迁移失败 | 确认目标路径有足够空间,且 .tar 文件路径正确 |
| 权限不足 | 右键 PowerShell → 以管理员身份运行 |
🎯 一键安装与迁移脚本(推荐)
将以下内容保存为 install-docker-d.ps1,以后右键 → 以管理员身份运行即可:
# =========================================== # 🐳 Docker Desktop 安装 + 迁移到 D 盘 # =========================================== $installer = "D:\aiTools\archive\docker\DockerDesktop-4.43.2-Windows-x86.exe" $installPath = "D:\aiTools\docker" $dataPath = "D:\aiTools\docker-data" Write-Host "🚀 准备安装或迁移 Docker Desktop..." -ForegroundColor Cyan # 检查安装包 if (-Not (Test-Path $installer)) { Write-Host "❌ 安装包不存在:$installer" -ForegroundColor Red exit } # 1️⃣ 安装 Docker Desktop Write-Host "🔧 安装中,请稍候..." Start-Process $installer -ArgumentList "install --quiet --installation-dir=$installPath" -Wait # 2️⃣ 停止旧服务并关闭 WSL Write-Host "🛑 停止 Docker 服务与 WSL..." net stop com.docker.service wsl --shutdown # 3️⃣ 导出与迁移 if (Test-Path "$dataPath\docker-desktop.tar") { Write-Host "♻️ 检测到已有导出文件,跳过导出..." -ForegroundColor Yellow } else { Write-Host "📦 导出 docker-desktop 数据中..." wsl --export docker-desktop "$dataPath\docker-desktop.tar" } Write-Host "🧹 注销旧分发..." wsl --unregister docker-desktop Write-Host "📁 导入到 D 盘..." wsl --import docker-desktop $dataPath "$dataPath\docker-desktop.tar" --version 2 # 4️⃣ 启动 Docker Write-Host "✅ 启动 Docker Desktop..." Start-Process "$installPath\Docker Desktop.exe" Write-Host "🎉 Docker Desktop 已成功安装并迁移到 D 盘!" 🧩 验证安装状态
wsl --list --verbose 正常情况下输出如下:
NAME STATE VERSION * Ubuntu-22.04 Running 2 docker-desktop Running 2 📚 结语
新版 Docker Desktop 合并了 docker-desktop-data,不再需要单独迁移数据子系统。
只要掌握 wsl --export / --import 的逻辑,就能轻松把 Docker 完整搬到 D 盘,
既节省 C 盘空间,又提升性能与稳定性。