在 Windows 10 Home 的 WSL2 上使用 Docker Desktop 时,如何更改 docker 映像的位置?

新手上路,请多包涵

我刚刚升级到 Windows 10 Home May 2020, 激活了 WSL2 并安装了 Docker Desktop

WSL2必须安装在我的系统盘中,这是一个小型SSD。我不想用 docker 图像填充它。如何更改 docker 图像路径?我想在我的大型 Windows 文件系统中使用路径。

图像位置 有些混乱。我相信它在 /mnt/wsl/docker-desktop-data/ 中。

如何更改 WSL2 中 docker 镜像的目录?我可以更改 docker 配置以选择 /mnt/d 内的路径,或者在 docker 数据目录上安装 /mnt/d 的路径吗?

原文由 neves 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 923
2 个回答

WSL 2 docker-desktop-data vm 磁盘映像通常位于: %USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx

按照以下步骤将其重新定位到其他驱动器/目录,并保留所有现有的 docker 数据(针对 Docker Desktop 2.3.0.4 (46911) 进行测试,并在更新 3.1.0 (51484) 后继续工作):

首先,通过右键单击 Docker 桌面图标并选择退出 Docker 桌面来关闭您的 docker 桌面

然后,打开命令提示符:

 wsl --list -v

您应该能够看到,确保两者的状态都已停止。( wsl --shutdown

   NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

将 docker-desktop-data 导出到文件中

wsl --export docker-desktop-data "D:\Docker\wsl\data\docker-desktop-data.tar"

从 wsl 注销 docker-desktop-data,请注意,在此之后,您的 ext4.vhdx 文件将自动删除(如果您有重要的现有图像/容器,请先备份它):

 wsl --unregister docker-desktop-data

将 docker-desktop-data 导入回 wsl,但现在 ext4.vhdx 将驻留在不同的驱动器/目录中:

 wsl --import docker-desktop-data "D:\Docker\wsl\data" "D:\Docker\wsl\data\docker-desktop-data.tar" --version 2

再次启动 Docker 桌面,它应该可以工作了

如果在验证后一切正常,您可以删除 D:\Docker\wsl\data\docker-desktop-data.tar 文件(不是 ext4.vhdx 文件)

原文由 Franks CHOW 发布,翻译遵循 CC BY-SA 4.0 许可协议

  1. 停止 Docker 桌面
  2. 将 Docker 文件夹从 C:\Users\xxx\AppData\Local\Docker 重定位到新路径
  3. 确保 C:\Users\xxx\AppData\Local\Docker 不再存在
  4. 以管理员模式打开cmd
  5. 运行以下命令,将在 cmd 窗口中使用适当的 from 和 to 路径创建符号链接
    mklink /j "C:\Users\xxx\AppData\Local\Docker" "path to where you relocated your docker folder"

  1. 重启 Docker 桌面

原文由 Attila Badi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题