在Windows 10 Pro上更改Docker本机映像位置

sez*_*443 7 docker windows-10

这不是 Change Docker机器位置的重复- Windows

我在启用了Hyper-V的Windows 10 Pro上使用docker native,版本1.12.1-stable(build:7135).所以docker 没有运行VirtualBox,也没有文件夹C:\ Users\username\.docker

我想将docker的图像,缓存,...移动到我的辅助驱动器D:\

我想我应该编辑Docker Daemon配置.

Docker守护程序配置

我试着补充一下"graph": "/D/docker".Docker正确启动但由于错误我无法拉出任何图像

open/D/docker/tmp/GetImageBlob135686954:没有这样的文件或目录

如何告诉docker使用另一条路径存储其图像等?

小智 36

Docker 版本:2.2.0.3 (42716)

  1. 右键单击桌面托盘上的泊坞窗图标

在此处输入图片说明

  1. 点击设置

在此处输入图片说明

3 单击左侧菜单中的资源,然后在磁盘映像位置下单击浏览并更改位置

  1. 单击应用并重新启动

  • docker Desktop 2.3.0.2 中的屏幕没有这些配置 (26认同)
  • 我不在 Windows 容器中(因为它需要 Windows Pro 或 Enterprise Build 才能启用它),但我的 docker 也没有这些配置。ps:docker版本:2.5.0.0 (6认同)
  • 还以为屏幕丢失了,但向下滚动有帮助。根据所使用的主题,滚动窗格可能很难看到...... (3认同)
  • 您应该在“设置”->“常规”中禁用“使用基于 WSL 2 的引擎”才能查看高级选项。 (3认同)
  • 这里似乎没有人意识到 Docker Desktop for Windows 有两种模式:Linux 容器和 Windows 容器。(模式在托盘图标上下文菜单中设置。)如果您处于 Windows 容器模式,则不存在磁盘映像位置选项。 (2认同)

Sae*_*eed 33

就我而言(Windows10 with Docker Desktop)上述解决方案都没有帮助我。我找到了解决方案,运行此命令。此命令将 docker 目录更改为驱动器 D:(不要忘记退出 docker desktop

wsl --shutdown
wsl --export docker-desktop-data docker-desktop-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data D:\docker-new-repo\ docker-desktop-data.tar --version 2
Run Code Online (Sandbox Code Playgroud)

现在你可以删除.tar文件

  • Docker Desktop 有 3 种模式:带有 WSL 的 Linux 容器、带有 Hyper-V 的 Linux 容器和 Windows 容器。此解决方案适用于 **带有 WSL 的 Linux 容器**,其中配置由 WSL 管理。[查看 Docker 文档中的信息](https://docs.docker.com/docker-for-windows/#resources) (6认同)
  • 谢谢。它确实在新位置设置了发行版。然而,旧发行版“ext4.vhdx”仍在更新,并且大小不断增加。我们怎样才能阻止这种情况呢? (4认同)
  • 感谢您为我指明了正确的方向。为我工作。但它还需要我从 https://dev.to/kimcuonthenet/move-docker-desktop-data-distro-out-of-system-drive-4cg2 获得的更多步骤 (3认同)

Rob*_*mas 20

2020 年“更改 Windows 10 专业版上的 Docker 本机映像位置”是,

  1. 退出 docker 桌面
  2. 打开/编辑配置文件“C:\ProgramData\Docker\config\daemon.json”
  3. 添加设置 "data-root": "D:\Virtual Machines\Docker"
  4. 现在启动docker桌面
  5. 运行命令“docker info”以查看设置“Docker Root Dir: D:\Virtual Machines\Docker”
  6. 拉 docker 镜像,例如:docker pull mongo
  7. 您可以在文件夹“D:\Virtual Machines\Docker\windowsfilter”中找到下载的图像

  • 应该是 2 "\\" => "data-root": "D:\\VirtualMachines\\Docker" (11认同)
  • 您可以将该代码放置到 Docker -> 设置 -> Docker Engine (9认同)
  • 应使用正斜杠,如“data-root”:“D:/VirtualMachines/Docker” (2认同)

sez*_*443 16

我在这里找到了解决方案

Windows上的Docker native在Hyper-V虚拟机中运行.

移动现有的docker VM

我必须将docker使用的VM移动到所需的位置.我是使用Hyper-V管理器的GUI完成的.Docker的VM称为MobyLinuxVM.

  • 右键单击 MobyLinuxVM
  • 选择移动
  • 选择所需的位置

设置期货Hyper-V VM的位置

并且为了确保Hyper-V的期货VM将存储在我的辅助驱动器上,我按照这些说明进行操作

在powershell终端中(目标文件夹必须存在)

SET-VMHOST –computername <computer> –virtualharddiskpath 'D:\Hyper-V_Virtual-Hard_Disks' SET-VMHOST –computername <computer> –virtualmachinepath 'D:\Hyper-V_VMs'


Moe*_*oes 16

编辑泊坞窗守护程序配置和使用"data-root": "D:\\docker"代替"graph": "/D/docker"
这会将所有新下载的图像移动到D:\docker文件夹。

对于旧 Docker 版本使用 graph "graph": "D:\\docker",“graph”已被弃用。


Sea*_*ong 13

有一种更简单的方法可以做到这一点:转到Docker 设置 > 高级 > 更改“磁盘映像位置”,然后在出现提示时单击“应用”。Docker 引擎将关闭虚拟机并将其移动到新位置。

警告:不得压缩新位置。如果是,则 Docker 不会向您显示任何错误,只是不会更改位置。

  • 没有高级选项 (13认同)
  • 你使用什么docker版本?因为我没有提前 (10认同)
  • 为什么我没有看到这些高级选项(我在 WSL 2 上运行) (10认同)
  • 我一直在尝试这个,当我应用更改时,Docker 只是将它设置回`c:\Users\Public\Documents` 中的位置,默认情况下它需要所有内容 (3认同)
  • “高级选项卡仅在 Hyper-V 模式下可用,因为在 WSL 2 模式和 Windows 容器模式下,这些资源由 Windows 管理。在 WSL 2 模式下,您可以配置分配给内存、CPU 和交换大小的限制。 WSL 2 实用虚拟机。” 您无法看到高级选项的原因。 (3认同)

Pas*_*cal 7

这些步骤都不适合我。重启或 Docker 重启后,它会回到原来的路径。对我有用的是使用Junction

停止码头引擎

在新位置创建一个目标文件夹:

mkdir d:\docker\vhd
Run Code Online (Sandbox Code Playgroud)

将文件夹复制Virtual Hard Disks到目标文件夹

重命名(和备份)原始文件夹

rename “C:\Users\Public\Documents\Hyper-V\Virtual hard disks” “C:\Users\Public\Documents\Hyper-V\Virtual hard disks_backup”
Run Code Online (Sandbox Code Playgroud)

创建硬符号链接(连接)

junction.exe "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks" "d:\docker\vhd\Virtual Hard Disks"
Run Code Online (Sandbox Code Playgroud)

启动码头引擎


小智 6

如果在使用 Hyper-V 时使用 Docker 桌面 GUI 出现问题:

  1. 关闭 Docker 桌面
  2. 编辑c:\users\[USERNAME]\AppData\Roaming\Docker\settings.json
    • 您需要编辑dataFolder条目。使用双反斜杠。
    • 例如: "dataFolder": "D:\\Demo\\Hyper-V\\DockerDesktop\\DockerDesktop"
  3. 重启 Docker 桌面

如果 Docker Desktop 无法跟踪数据文件夹的位置,您也可以使用上述方法,因为 GUI 不允许您将其设置为以前使用的位置。


小智 5

对于那些期待 2020 年的人。以下是针对 Windows 10 机器的:

  1. 在 Hyper-V 管理器的全局操作窗格中,单击 Hyper-V 设置...
  2. 在 Virtual Hard Disks 下,将位置从默认位置更改为所需位置。
  3. 在虚拟机下,将位置从默认位置更改为所需位置,然后单击应用。

在此处输入图片说明

  1. 单击确定关闭 Hyper-V 设置页面。