Docker释放空间,ext4.vhdx文件太大

使用 Docker 一段时间后,会残留大量中间镜像,占用磁盘空间。很多小伙伴把 Docker 装在 C 盘,结果导致 C 盘空间频繁告急。

网上常见的方法大致如下:

  1. 关闭 WSL2 实例

    wsl --shutdown
  2. 使用 Windows 自带的 diskpart 工具压缩 vhdx 文件

    diskpart
    # 打开 Diskpart 窗口
    select vdisk file="C:\Users\<你的用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx"
    attach vdisk readonly
    compact vdisk
    detach vdisk
    exit

但是,很多人发现这样操作往往没效果。我之前也是多次尝试失败,只能先扩容磁盘将就用。结果 ext4.vhdx 文件还是越变越大,C 盘最终爆满。

终于,我找到一个真正有效的办法,只需要在上面的步骤前 加一步关键操作

正确解决方案

  1. 删除无用的 Docker 镜像和容器
    这一步非常重要!!!!!!!如果不清理无效数据,压缩几乎没效果。

    docker system prune

    (会删除无用的容器、网络、缓存等,建议提前确认无重要数据)

  2. 退出 Docker Desktop 并关闭 WSL2 实例

    wsl --shutdown
  3. 压缩 ext4.vhdx 文件
    找到对应的 vhdx 文件:

    C:\Users\<你的用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx

    然后执行压缩操作:

    diskpart
    select vdisk file="C:\Users\<你的用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx"
    attach vdisk readonly
    compact vdisk
    detach vdisk
    exit
  4. 上述diskpart系列命令也可简化为:

    Optimize-VHD -Path "path_to_disk.vhdx" -Mode Full

执行完成后,C 盘空间会显著回收 🎉。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值