docker释放镜像后虚拟磁盘不减小 问题处理

在使用docker sytem prume指令清理了docker当前的所有镜像和容器后,docker的虚拟磁盘ext4.vhdx所占用的空间一点也没有减少。

使用docker system df指令查看,能清理的都已经清理了。

查阅资料后才发现,由于我安装docker时是基于wsl而不是hyper-V导致了这个问题的出现。

wsl2是虚拟机,对应的磁盘会自动扩容,但是不会自动缩容。要减少磁盘占用,需要自己手动删减。

打开powershell,输入

wsl --list -v

可以查看当前wsl下的服务。正常情况下应该是一个ubuntu和两个docker。

然后输入

wsl --shutdown

关闭wsl服务。然后使用系统自带的diskpart工具来清理磁盘。

 

复制代码
diskpart
//启动diskpart命令行界面

select vdisk file="C:\Users\<你的用户>\AppData\Local\Docker\wsl\data\ext4.vhdx"
//按照你docker里面的设置来,不一定这个地址

attach vdisk readonly
//“已连接磁盘”

compact vdisk
//“已压缩磁盘”

detach vdisk
//“已分离磁盘”

exit
复制代码

然后不出意外的话就已经清理完成了。

 

参考:https://gist.github.com/banyudu/af131c7bb681e8a80b5cbe2047e62d4c

https://blog.csdn.net/a6661314/article/details/128029017   (不推荐)

posted @   namezhyp  阅读(669)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2022-03-15 力扣 278 第一个错误的版本
点击右上角即可分享
微信分享提示