docker system prune -a无法清理空间,如何用终端实现Docker Desktop清理效果?
在Linux终端实现Docker Desktop的「清理/清除数据」效果
针对你遇到的Docker.raw文件占用空间无法通过常规docker system prune命令释放的问题,可通过以下终端步骤实现和Docker Desktop清理功能一致的效果:
步骤1:彻底清理未使用的Docker资源
首先执行最全面的Docker资源清理命令,覆盖镜像、容器、卷、网络等所有未使用的资源:
docker system prune -a --volumes -f
-a:删除所有未被使用的镜像(包括中间层镜像)--volumes:删除所有未被容器使用的卷(这是常规prune -a未覆盖的部分,也是空间占用的常见原因)-f:跳过确认提示,直接执行清理
步骤2:回收Docker.raw的磁盘空间
Docker.raw是Docker Desktop用于存储容器/镜像数据的虚拟机磁盘镜像文件,即便删除了内部资源,它的物理占用空间不会自动收缩,需要主动触发空间回收:
- 先停止Docker Desktop服务:
systemctl --user stop docker-desktop
- 执行Docker Desktop内置的磁盘修剪命令,自动回收Docker.raw的闲置空间:
docker desktop disk prune
- 重启Docker Desktop服务:
systemctl --user start docker-desktop
补充说明
如果上述命令无法完全释放空间,可手动确认Docker.raw的路径(通常位于~/.docker/desktop/vms/0/data/Docker.raw),然后使用fstrim工具直接对该文件所在的目录进行空间修剪:
fstrim ~/.docker/desktop/vms/0/data/
内容的提问来源于stack exchange,提问作者Rogério
相关产品推荐
相关产品推荐

