卖不甜枣 发表于 2025-1-22 08:00:00

Windows Docker Desktop 占用磁盘空间过大?教你轻松解决!

Windows Docker Desktop 在长时间使用后,会由于镜像、容器、缓存等文件累积,导致磁盘空间占用过大。这重要是由于:


[*]镜像累积: 随着不停地拉取、构建镜像,镜像文件会占据大量空间。
[*]容器数据: 容器运行时产生的数据,如日记、设置文件等,也会占用空间。
[*]构建缓存: Docker 在构建镜像时会生成缓存,以加快后续构建。但过多的缓存也会占用空间。
   删除镜像和容器这里就不说了,可以打开软件然后删除
但是很多时候你删除了容器和镜像,似乎占用没怎么变,下面就先容一下软件之外的清理办法.
1. 镜像文件比实际占用大很多

https://i-blog.csdnimg.cn/direct/aa0b745a58a342f9910b69c0d2273f47.png
实际上只有一些镜像,docker system df显示占用不到20G
2. 磁盘压缩

关闭wsl(切记,如果开启了docker应用,或者卡住,必须重启电脑并不要打开docker)
wsl --shutdown 打开磁盘应用,会弹出新的应用窗口
diskpart 选择磁盘,参考 如何管理 WSL 磁盘空间 | Microsoft Learn 找到磁盘镜像所在文件路径
select vdisk file=....vhdx  https://i-blog.csdnimg.cn/direct/8109f440a0c9467bac73c01e18257b96.png
压缩磁盘
compact vdisk  等候完成
https://i-blog.csdnimg.cn/direct/d18addf4f9814f40974fc6fc354d52a4.png
https://i-blog.csdnimg.cn/direct/1f84179e28594d308d9e85fae03d32d6.png
卸载假造磁盘
detach vdisk https://i-blog.csdnimg.cn/direct/4f02d53f26984ac4be13538e850c0d1d.png
最后再启动wsl服务即可,可能还需重启,可以看到占用少了13G,也是不少的空间呢
3. 清理构建缓存

检察体系占用:这部门如果发现占用比实际的少很多,记得用方法1来释放(例如我用这个df检察的占用25G,实际上ext4.vhdx 却有55G,实际占用多了30G)
docker system df #查看各系统的占用 实行构建清理
docker buildx prune -f
云云操作,便可以或许节省不少空间了。尤其是使用时间过久之后,会有很多构建缓存。
顺便提一下docker的镜像或容器文件的结构:由一层一层叠起来,像是千层饼,为了尽可能的减少重复,通常很多层都会在应用中根据hash缓存,哪怕你删了一个镜像-那个饼的层集合,但那些层并不会删除。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Windows Docker Desktop 占用磁盘空间过大?教你轻松解决!