docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker从C盘迁移到D盘

Docker从C盘迁移到D盘的详细流程

作者:伞伞悦读

本文介绍了如何将使用Docker Desktop和WSL2的Windows 10/11系统中的Docker数据盘从C盘迁移到D盘的相关资料,需要的朋友可以参考下

一、适用场景

这份教程适合下面这种情况:

这份方法是 官方支持的稳定方案,不使用软链接,不手动剪切 wsl 文件夹。

二、先说结论

Docker Desktop 在 WSL2 模式下,真正占空间的核心数据一般在:

C:\Users\你的用户名\AppData\Local\Docker\wsl

这里面通常会有一个很大的虚拟磁盘文件,用来保存:

正确迁移方式不是手动移动文件夹,而是:

  1. 打开 Docker Desktop
  2. 进入 Settings -> Resources -> Advanced
  3. 修改 Disk image location
  4. 选择 D 盘目标目录
  5. 点击 Apply & Restart
  6. 在弹窗里点击 Yes, move it

三、不要这样做

下面这些做法不推荐。

1. 不要手动剪切wsl文件夹

不要把:

C:\Users\你的用户名\AppData\Local\Docker\wsl

直接剪切到 D 盘。

原因:

2. 不要用符号链接代替迁移

例如这类做法:

New-Item -ItemType SymbolicLink -Path "C:\Users\你的用户名\AppData\Local\Docker\wsl" -Target "D:\ProgramData\Docker\wsl"

也不推荐。

原因:

四、迁移前准备

1. 确保 Docker Desktop 能正常启动

先确认 Docker 现在能用,左下角能看到:

Engine running

2. 尽量停止正在运行的容器

在 Docker Desktop 里先停止重要容器,避免迁移时占用。

3. 准备目标目录

建议提前建好目标目录,例如:

D:\ProgramData\Docker\DockerDesktopWSL

也可以只建到:

D:\ProgramData\Docker

后面用 Docker Desktop 选择。

五、正式迁移步骤

第 1 步:打开 Docker Desktop

确保左下角显示:

Engine running

第 2 步:进入设置页面

点击右上角齿轮图标,进入:

Settings

然后点击:

Resources -> Advanced

第 3 步:找到 Disk image location

Advanced 页面中,找到:

Disk image location

如果你当前还是默认位置,通常会在 C 盘。

第 4 步:修改为 D 盘路径

把路径改成你想存放 Docker 数据的位置,例如:

D:\ProgramData\Docker\DockerDesktopWSL

第 5 步:点击 Apply & Restart

点击右下角:

Apply & Restart

第 6 步:确认迁移

这时 Docker Desktop 会弹出提示:

Move disk image?

直接点击:

Yes, move it

这一步表示 Docker 会把当前的数据盘从 C 盘安全迁移到 D 盘。

六、迁移过程中会看到什么

迁移过程中可能出现这些现象,属于正常情况:

耗时取决于:

七、迁移完成后如何验证

方法 1:看设置里的路径

再次进入:

Settings -> Resources -> Advanced

确认:

Disk image location

已经变成:

D:\ProgramData\Docker\DockerDesktopWSL

方法 2:看 D 盘目录

打开:

D:\ProgramData\Docker\DockerDesktopWSL

如果迁移成功,通常会看到类似文件:

这个文件就是 Docker 的核心数据盘。

方法 3:看 Docker 是否正常运行

执行命令:

docker info

确认 Docker 正常返回信息,没有报错。

八、为什么迁移完成后 C 盘还会有 Docker 文件夹

迁移成功后,你仍然可能看到:

C:\Users\你的用户名\AppData\Local\Docker

这通常是正常的。

因为这里还可能保留一些轻量级内容,例如:

真正占空间的核心数据盘已经搬到了 D 盘,所以不用因为 C 盘还存在 Docker 文件夹而紧张。

判断重点

不是看 C 盘有没有 Docker 文件夹,而是看:

九、如果迁移过程中出问题怎么办

情况 1:Apply 按钮是灰色

常见原因:

解决办法:

  1. 重新选择一次目标目录
  2. 确认路径确实变化了
  3. 再点击 Apply & Restart

情况 2:Docker 一直转圈

可以尝试:

  1. 退出 Docker Desktop
  2. 在 PowerShell 执行:
wsl --shutdown
  1. 重新打开 Docker Desktop

如果 Docker 本身能正常恢复,再重新走设置迁移流程。

情况 3:误删了docker-desktop-data

如果之前误删或清空了 Docker 的 WSL 数据,不一定是坏事。

只要 Docker Desktop 还能正常重建并启动,仍然可以直接通过设置页修改 Disk image location,把新的数据盘放到 D 盘。

十、迁移完成后的推荐做法

迁移完成后,建议你以后项目数据也尽量放到 D 盘。

例如在 WSL / Docker 中做卷挂载时,可以使用:

-v /mnt/d/docker/mysql/data:/var/lib/mysql

说明:

这样做有三个好处:

十一、推荐的目录规划

你可以参考下面这个结构:

D:\ProgramData\Docker\DockerDesktopWSL   # Docker Desktop 数据盘
D:\docker\mysql\data                     # MySQL 数据
D:\docker\mysql\conf                     # MySQL 配置
D:\docker\projects                        # 你的 compose 项目目录

十二、最终检查清单

迁移完成后,逐项检查:

如果这些都满足,说明迁移已经成功。

十三、总结

Docker 从 C 盘迁移到 D 盘,最稳的方法就是:

  1. 不手动剪切 wsl 文件夹
  2. 不使用符号链接
  3. 直接用 Docker Desktop 的 Disk image location
  4. 通过 Apply & RestartYes, move it 完成官方迁移

如果你是 Windows + WSL2 + Docker Desktop 这套环境,这就是最推荐的方案。

以上就是Docker从C盘迁移到D盘的详细流程的详细内容,更多关于Docker从C盘迁移到D盘的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文