我已经安装了WSL以及Docker桌面。
我试着尽可能地通过逃跑来收拾Docker
docker system prune -a
docker volume rm $(docker volume ls -q -f dangling=true)
然后我确认了
❯ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 0 0 0B 0B
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
不过,我看到我还有WSL使用的近12G。
我假设这个文件是与Docker相关的。为什么尽管我删除了所有容器和卷,它还是这么大?
我如何缩小它(或者我可以删除它吗?)
3条答案
按热度按时间pgx2nnw81#
如果您愿意擦除所有Docker数据,请打开Docker Desktop客户端,点按顶栏中的错误图标,然后点按“清理/清除数据”:
来源:link
7bsow1i62#
作为参考,有一个关于这个主题的开放的Github issue。
WSL2虚拟磁盘是"动态"的
.vhdx
,这意味着它们:但是,当然可以手动优化它们。
第0步:对于其他正在阅读本文的人,请跟随OP的领导,首先使用正常的Docker命令清理Docker数据。
接下来,在所有情况下:
wsl --shutdown
由于您已经删除了所有数据(容器、映像、卷),您可以只删除整个映像:
重要信息:请注意,这些都是破坏性操作,因此请确保您确实不需要Docker Desktop中的任何数据。
对于那些需要保留数据,但仍需要回收一些空间的客户:
ext.vhdx
作为备份。请注意,在使用以下任一技术时,都有损坏的报告。然后,正如Github那期的评论中所指出的:
Optimize-VHD
cmdlet:diskpart
。ext4.vhdx
之前所有预期数据均完好无损。nszi6y053#
(2022年12月更新)
Windows实用程序
diskpart
现在可以用来缩小虚拟硬盘(vhdx文件),只要你通过删除任何不必要的文件来释放它内部的空间。我在this guide中找到了这些信息。我把说明的要点放在下面以供参考,但上面的指南更完整。
首先,打开管理员命令窗口并键入以下命令,确保关闭所有WSL示例:
验证是否通过以下方式停止所有操作:
然后启动磁盘部件:
和内部盘部件类型:
例如:
它应该以
DiskPart successfully selected the virtual disk file.
作为响应然后缩小
在此之后,VHDX文件的使用量应该会减少。在我的情况下,它从40GB减少到4GB。您可以键入
exit
退出diskpart。