如何移动Docker放镜像的VDisk虚拟磁盘或者删除它

12 阅读3分钟

一、核心操作:将Docker镜像虚拟磁盘从C盘移到D盘

方法1:图形界面操作(推荐,新手友好)

  1. 打开 Docker Desktop。
  2. 进入 Settings(设置)Resources(资源)Advanced(高级)
  3. Disk image location(磁盘镜像位置) 部分,点击 Browse,选择 D 盘的目标文件夹。
  4. 点击 Apply,Docker Desktop 会自动迁移数据。

注意:不要直接手动移动 vhdx 文件,否则可能导致 Docker Desktop 无法识别数据。

方法2:安装器参数(适用于全新安装Docker)

若你是全新安装 Docker Desktop,可通过安装器参数直接指定数据根目录(避免默认存到C盘):

参数格式:--wsl-default-data-root=<path>

示例命令:

Docker Desktop Installer.exe install --wsl-default-data-root="D:\DockerData"

方法3:环境变量说明

目前没有环境变量可以直接控制 docker_data.vhdx 的存储位置,必须通过 Docker Desktop 的设置界面或安装参数来实现。

二、补充操作:如何删除虚拟磁盘

先明确:Docker VDisk虚拟磁盘是什么?

Docker在Windows系统(尤其是WSL环境下)运行时,会自动创建.vhdx格式的虚拟磁盘文件,用于存储镜像、容器数据,即diskpart中看到的“VDisk 0、VDisk 1”。

删除前的3个准备工作(必做!)

  1. 停止Docker相关服务:Win+R输入services.msc打开“服务”,找到“Docker Desktop Service”右键停止;若有WSL相关服务(如LxssManager),也一并停止,避免虚拟磁盘被占用。

详细删除步骤(全程复制命令即可)

核心逻辑:先卸载虚拟磁盘 → 再删除对应的.vhdx文件,全程用diskpart命令操作。

步骤1:打开diskpart命令行(管理员权限)

  1. 按下Win+X,选择“Windows终端(管理员)”(或“命令提示符(管理员)”);
  2. 输入命令 diskpart,回车进入diskpart交互模式(提示符变为“DISKPART>”)。

步骤2:查看所有VDisk,确认目标

在DISKPART> 后输入命令 list vdisk,回车,显示所有虚拟磁盘信息(编号、路径等),示例:

VDisk ###  Disk ###  State                 Type       File
---------  --------  --------------------  ---------  ----
VDisk 0    Disk 3    Attached not open     Expandable  C:\Users\boer\AppData\Local\Docker\wsl\disk\docker_data.vhdx
VDisk 1    Disk 2    Attached not open     Expandable  E:\dev.vhdx

注:示例中VDisk 0为Docker数据盘,VDisk 1为自定义开发者磁盘,按需删除目标磁盘。

步骤3:卸载VDisk(关键步骤,不可跳过)

以卸载Docker数据盘(VDisk 0,路径:C:\Users\boer\AppData\Local\Docker\wsl\disk\docker_data.vhdx)为例,依次输入以下命令(每输完回车):

select vdisk file="C:\Users\boer\AppData\Local\Docker\wsl\disk\docker_data.vhdx"
detach vdisk

提示“成功 detach 虚拟磁盘”即卸载成功;若提示“正在使用”,需重新停止Docker和WSL服务后重试。

步骤4:删除.vhdx文件(彻底清理空间)

卸载后,可通过以下两种方式删除文件,任选一种:

方式1:文件资源管理器删除(推荐,不易出错)
  1. 打开“此电脑”,按记录的路径找到目标.vhdx文件;
  2. 右键点击文件,选择“删除”并确认(提示“正在使用”则重新执行步骤3);
  3. 清空回收站,彻底释放空间。
方式2:命令行删除(快速高效)

回到管理员终端(无需进入diskpart),输入命令(路径需与实际一致):

del "C:\Users\boer\AppData\Local\Docker\wsl\disk\docker_data.vhdx"
del "E:\dev.vhdx"

回车执行,文件即可删除。

步骤5:验证删除结果(可选)

再次进入diskpart,输入 list vdisk,若不再显示目标VDisk,且对应路径下无.vhdx文件,说明删除成功。

总结

核心重点:迁移Docker虚拟磁盘优先用图形界面操作,避免手动移动文件;删除VDisk需遵循“先卸载、再删除”原则,做好准备工作即可安全操作,新手也能轻松完成。

(虽然是AI写的但是我改过)