本教程核心原理:利用文件联接 (Junction) 欺骗安装程序,并配合 WSL2 指令 彻底迁移镜像数据,实现 C 盘“零占用”。
第一阶段:准备工作
下载安装包:从官网下载 DockerDesktopInstaller.exe,放在 D:\ 根目录(或其他非中文目录)。
创建目标文件夹:在 D 盘手动创建文件夹 D:\Docker。
—
第二阶段:软件主体安装(迁移程序文件)
Docker 默认强制安装在 C 盘,我们通过“传送门”技术将其重定向。
以管理员身份打开命令提示符 (CMD)。
执行以下命令创建“联接”(如果 C 盘已有 Docker 文件夹请先删除):
DOS
mklink /j "C:\Program Files\Docker" "D:\Docker"
双击运行 D:\DockerDesktopInstaller.exe。
安装配置:务必勾选 “Use WSL 2 instead of Hyper-V”。
重启电脑:安装完成后,按提示重启或注销。
—
第三阶段:存储引擎迁移(迁移镜像数据)
这是最关键的一步! 默认镜像数据会存在 %LOCALAPPDATA%,即使软件在 D 盘,镜像也会撑爆 C 盘。
启动并初始化:启动 Docker Desktop,看到小鲸鱼变绿后,在 CMD 运行一次测试:docker pull hello-world。
彻底退出 Docker:右键点击托盘小鲸鱼 -> Quit Docker Desktop。然后在 CMD 运行:
DOS
wsl --shutdown
执行搬家三部曲(在管理员 CMD 执行):
DOS
:: 1. 导出备份
wsl --export docker-desktop D:\Docker\docker-desktop.tar
:: 2. 注销 C 盘分发
wsl --unregister docker-desktop
:: 3. 导入到 D 盘 (确保 D:\Docker\wsl-engine 文件夹已存在)
wsl --import docker-desktop D:\Docker\wsl-engine D:\Docker\docker-desktop.tar --version 2
清理:启动 Docker 确认正常后,删除 D:\Docker\docker-desktop.tar。
—
第四阶段:性能与网络优化
进入 Docker 设置 (Settings) -> Docker Engine,将配置修改为以下内容,以支持国内加速和自动空间回收:
JSON
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j0dev.nl",
"https://docker.m.daocloud.io"
]
}
—
常用维护指令
查看迁移后的分发状态:wsl -l -v(应显示状态为 Stopped 或 Running)。
清理无用镜像/容器:docker system prune -a(定期执行可释放 D 盘空间)。
中文支持:建议搭配 VS Code + 中文语言包 + Docker 插件 使用,可实现全中文管理界面。