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

时间:2016-11-07 13:06:40

标签: docker windows-10

这不是 Change Docker machine location - 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 Daemon Configuration

我尝试添加"graph": "/D/docker"。 Docker正确启动但由于错误我无法拉出任何图像

  

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

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

9 个答案:

答案 0 :(得分:27)

Docker版本:2.2.0.3(42716)

  1. 右键单击桌面托盘上的docker图标

enter image description here

  1. 点击设置

enter image description here

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

  1. 单击“应用并重新启动”

答案 1 :(得分:24)

就我而言(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

现在你可以删除.tar文件

答案 2 :(得分:15)

我找到了解决方案here

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

移动现有的泊坞窗VM

我必须将docker使用的VM移动到所需的位置。 我使用 Hyper-V管理器的GUI完成了这项工作。 Docker的VM称为 MobyLinuxVM

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

设置期货Hyper-V VM的位置

确保Hyper-V的期货虚拟机存储在我的辅助驱动器上, 我跟着those instructions

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

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

答案 3 :(得分:3)

在2020年更改为“更改Windows 10 Pro上的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”中找到下载的图像

答案 4 :(得分:1)

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

警告:不得压缩新位置。如果是,那么Doc​​ker将不会显示任何错误,只是不会更改位置。

答案 5 :(得分:0)

编辑Docker Daemon配置并使用"graph": "D:\\docker" 而不是"graph": "/D/docker"

将所有新下载的图像移至D:\docker文件夹

答案 6 :(得分:0)

这些步骤都不适合我。重新启动或Docker重新启动后,它将移回原始路径。对我有用的是使用Junction

停止docker引擎

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

mkdir d:\docker\vhd

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

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

rename “C:\Users\Public\Documents\Hyper-V\Virtual hard disks” “C:\Users\Public\Documents\Hyper-V\Virtual hard disks_backup”

创建硬符号链接(连接)

junction.exe "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks" "d:\docker\vhd\Virtual Hard Disks"

启动docker引擎

答案 7 :(得分:0)

适用于2020年的用户。以下适用于Windows 10计算机:

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

enter image description here

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

答案 8 :(得分:0)

我建议查看 Microsoft 文档 docker engine on windows,它是 daemon.json 文件,允许更改设置“data-root”:“”。