Docker下载镜像保存路径

3

运行docker pull后,我希望能找到本地机器上保存图像的路径。在从主机拉取镜像期间或完成docker pull后,我无法找到已保存/临时位置的图像。

我是否可以在docker拉取镜像期间或完成后设置不同的位置?因为在从主机拉取镜像时,C驱动器没有足够的空间下载。

注意:我正在使用Docker for Windows。

拉取主机镜像之前,“C:”和“D:”的空间。 enter image description here

在D驱动器中创建文件夹,而不是使用C驱动器。 enter image description here

将"data-root"添加到配置中 enter image description here

更改配置并重新启动服务后,docker服务会创建相关文件夹和文件。 enter image description here

当docker从主机拉取镜像时,C驱动器的空间开始减少。

enter image description here


看这个截图,我猜你是在Windows上使用Docker的Linux容器? - Tarun Lalwani
嗨Tarun,我从“https://docs.docker.com/docker-for-windows/install/”下载了文件,并在Windows 10 ps上运行它。 - ib3an
2个回答

1

编辑-1:将在Windows容器上工作

要更改Windows容器的数据位置,您需要更改docker守护程序的data-root。这可以通过设置窗口完成。在设置窗口中单击Daemon选项,并从Basic切换到Advanced设置。然后按照以下配置更改:

{
  "data-root": "c:/dockerdata",
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": true,
  "experimental": true
}

数据现在将存储在这个新位置。

Data location change

你可以在Docker for Windows的设置中更改虚拟机位置 - "Images and volumes VHD location"。这个答案只适用于使用Linux容器的情况。

Change location

如果需要查看虚拟机,则需要启动Hyper-V管理器并检查虚拟机详细信息。

MobyLinuxVM


请问是哪个虚拟机? - ib3an
再次感谢。我在我的Windows 10 Pro中运行SQL 2016容器,并按照此步骤“https://hub.docker.com/r/microsoft/mssql-server-windows/”进行操作。为了运行SQL,我不需要在Hyper-V上运行任何VM,并停止了VM“MobyLinuxVM.vhdx”。而vhdx大小仅为1.48 GB,但下载的文件为14GB。问题是,在运行“docker pull xxxx”后,我无法在任何地方找到已下载的文件。 - ib3an
我遇到了这个错误:“无法同时指定“graph”和“data-root”配置文件选项”。因为在你回复之前,我已经在配置中设置了“graph”。那么我应该从配置设置中删除“graph”吗?当前的设置如下: { "registry-mirrors": [], "insecure-registries": [], "debug": true, "experimental": true, "graph": "e:\dockerimages" } - ib3an
是的,删除图表选项,它已经过时了,现在应该使用"data-root"。 - Tarun Lalwani
我又重新做了一遍,但当我运行docker pull命令时,文件仍然保存到C:\驱动器。请查看我的帖子。我再次截图了。 - ib3an
显示剩余4条评论

0

我找到了解决我的问题的临时方法。我没有看到任何改变Docker cmd参数或配置下载路径的方法。以下是为面对相同问题的人提供的解决方案。

我们需要在环境变量设置中更改默认的临时文件夹路径。我使用了setx cmd命令来更改临时文件夹路径,然后重新启动了Docker服务。

$env:TEMP = "D:\temp" setx TEMP $env:TEMP /M

$env:TMP = "D:\temp" setx TMP $env:TMP /M

临时文件将保存在新的临时文件夹中。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接