通常 Docker 的安装包不支持直接选安装目录,它会默认进 C 盘。所以最科学的方法是:先安装,再搬家。
第一阶段:软件本体安装
下载安装包:前往官网下载 Docker Desktop Installer。
默认安装:直接运行安装包,确保勾选 “Use WSL 2 instead of Hyper-V”。
不要启动:安装完成后,先不要打开 Docker。如果它自动启动了,请在右下角托盘右键 Exit 退出。
第二阶段:环境准备(创建 D 盘新家)
打开 PowerShell(管理员),执行以下命令:
PowerShell
# 1. 在 D 盘创建专门的程序和数据文件夹
mkdir "D:\Docker\DockerData"
# 2. 预先扫清权限障碍(这是最关键的一步,防止报错 Access is denied)
icacls "D:\Docker\DockerData" /grant "Everyone:(OI)(CI)F" /T
第三阶段:利用 WSL 命令“暴力”搬运数据
Docker 的镜像数据(大头)存储在 WSL 的分发版里。我们通过命令行强行将其改迁到 D 盘:
检查分发版名称:
输入 wsl -l -v。你会看到 docker-desktop。
执行迁移三部曲:
PowerShell
# A. 导出镜像数据(起个临时名备份)
wsl --export docker-desktop "D:\Docker\temp_docker.tar"
# B. 删掉 C 盘的旧索引
wsl --unregister docker-desktop
# C. 将数据导入 D 盘新文件夹
wsl --import docker-desktop "D:\Docker\DockerData" "D:\Docker\temp_docker.tar" --version 2
- 清理:删掉 D 盘那个临时的
temp_docker.tar。
第四阶段:强行对齐界面配置
为了让 Docker 界面也显示 D 盘路径,不再回滚:
按下 Win + R,输入 %APPDATA%\Docker。
打开 settings.json。
在 JSON 开头加入这一行(注意双斜杠):
"dataFolder": "D:\\Docker\\DockerData",
保存并启动 Docker。
进阶配置:国内镜像加速
搬完家后,为了下载镜像不卡顿,建议在 Settings -> Docker Engine 的 JSON 里加入这段:
JSON
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
💡 教程核心要点
步骤目的解决的问题icacls 授权赋予 SYSTEM 权限解决 Access is denied 报错wsl –import底层数据搬迁解决 C 盘空间被镜像占满的问题修改 settings.json强行更改配置解决界面修改路径后自动回滚的问题
恭喜!现在你的 Docker 是一套“软件在 D 盘、数据在 D 盘、权限全开”的完美环境。