什么是Docker.qcow2?

什么是Docker.qcow2?,docker,Docker,我用DaisyDisk查看我的磁盘,我有一个30GB的东西,叫做Docker.qcow2。更具体地说,DaisyDisk将其置于~/Library/Containers/com.docker.docker/Data/vms/0/docker.qcow2下。它是某种缓存吗?我可以删除它吗?我有很多旧项目的映像,我永远不会使用它们,我正在尝试清理磁盘。默认情况下,.qcow2文件作为块设备暴露给VM,最大大小为64GiB。当容器在文件系统中创建新文件时,新的扇区将写入块设备。这些新扇区被附加到.qc

我用DaisyDisk查看我的磁盘,我有一个30GB的东西,叫做Docker.qcow2。更具体地说,DaisyDisk将其置于
~/Library/Containers/com.docker.docker/Data/vms/0/docker.qcow2
下。它是某种缓存吗?我可以删除它吗?我有很多旧项目的映像,我永远不会使用它们,我正在尝试清理磁盘。

默认情况下,.qcow2文件作为块设备暴露给VM,最大大小为64GiB。当容器在文件系统中创建新文件时,新的扇区将写入块设备。这些新扇区被附加到.qcow2文件中,导致其大小增加,直到最终完全分配为止。当它达到这个最大尺寸时,它停止生长


您可以停止Docker并删除此文件,但是删除它也会删除所有容器和图像。Docker将在开始时重新创建此文件。

如果您偶然发现此文件,您可能不会对64gb的文件感到兴奋。如果打开Docker>Preferences,您可以将其调低一点,使其尺寸更合理。这样做会删除旧的cow文件,并且会删除您的容器,所以要小心


我也有同样的问题。只需使用以下命令,即可删除文件或使用设置调整大小:

docker图像

这将显示您系统上的所有图像以及每个图像的大小(您会惊讶地发现这会很快失控)

docker图像rm IMAGEID

这将删除具有可以从上面的images命令获得的ID的图像


我使用这种方法,它会释放大量磁盘空间。

注意,此文件的填充空间很小。例如,16.0GB以上的设置目前仅使用1.2GB。根据您查看文件的方式,您将看到磁盘上的最大文件大小或实际大小。当我找到它时,它已满64gb。更改大小也会删除旧内容。