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

打印 上一主题 下一主题

主题 903|帖子 903|积分 2709

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


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


实际上只有一些镜像,docker system df显示占用不到20G
2. 磁盘压缩

关闭wsl(切记,如果开启了docker应用,或者卡住,必须重启电脑不要打开docker
  1. wsl --shutdown
复制代码
打开磁盘应用,会弹出新的应用窗口
  1. diskpart
复制代码
选择磁盘,参考 如何管理 WSL 磁盘空间 | Microsoft Learn 找到磁盘镜像所在文件路径
  1. select vdisk file=....vhdx
复制代码
 

压缩磁盘
  1. compact vdisk
复制代码
 等候完成


卸载假造磁盘
  1. detach vdisk
复制代码

最后再启动wsl服务即可,可能还需重启,可以看到占用少了13G,也是不少的空间呢
3. 清理构建缓存

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表