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

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

  • 镜像累积: 随着不断地拉取、构建镜像,镜像文件会占据大量空间。
  • 容器数据: 容器运行时产生的数据,如日志、配置文件等,也会占用空间。
  • 构建缓存: Docker 在构建镜像时会生成缓存,以加速后续构建。但过多的缓存也会占用空间。

删除镜像和容器这里就不说了,可以打开软件然后删除

但是很多时候你删除了容器和镜像,似乎占用没怎么变,下面就介绍一下软件之外的清理办法.

1. 镜像文件比实际占用大很多

实际上只有一些镜像,docker system df显示占用不到20G

2. 磁盘压缩

关闭wsl(切记,如果开启了docker应用,或者卡住,必须重启电脑不要打开docker

wsl --shutdown

打开磁盘应用,会弹出新的应用窗口

diskpart 

选择磁盘,参考 如何管理 WSL 磁盘空间 | Microsoft Learn 找到磁盘镜像所在文件路径

select vdisk file=....vhdx 

 

压缩磁盘

compact vdisk 

 等待完成

卸载虚拟磁盘

detach vdisk

最后再启动wsl服务即可,可能还需重启,可以看到占用少了13G,也是不少的空间呢

3. 清理构建缓存

查看系统占用:这部分如果发现占用比实际的少很多,记得用方法1来释放(例如我用这个df查看的占用25G,实际上ext4.vhdx 却有55G,实际占用多了30G)

docker system df #查看各系统的占用

执行构建清理

docker buildx prune -f

如此操作,便能够节省不少空间了。尤其是使用时间过久之后,会有很多构建缓存。

顺便提一下docker的镜像或容器文件的结构:由一层一层叠起来,像是千层饼,为了尽可能的减少重复,往往很多层都会在应用中根据hash缓存,哪怕你删了一个镜像-那个饼的层集合,但那些层并不会删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余生H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值