You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下清理Docker无用资源同时保留构建缓存的方法

Docker清理方案:保留构建缓存同时清理无用资源

根据你的docker system df输出,所有镜像都是未被使用的可回收状态,容器已无残留,本地卷虽有59个但占用空间为0,构建缓存目前占用极小且需要保留。以下是针对性的清理方法:

1. 单独清理无用镜像

使用专门的镜像清理命令,不会触及构建缓存:

docker image prune -a
  • -a 参数会删除所有未被任何容器引用的镜像(包括非悬空镜像),正好匹配你当前247个未激活镜像的场景。
  • 若需要跳过交互确认,加-f参数:docker image prune -af

2. 清理停止的容器(可选)

当前你的容器数量为0,此命令可作为日常维护:

docker container prune -f

仅删除已停止运行的容器,完全不影响构建缓存。

3. 清理未被使用的本地卷

你的本地卷占用空间为0,大概率是悬空卷(无容器关联),可安全清理:

docker volume prune -f

仅删除未被任何容器挂载的卷,与构建缓存无交集。

4. 组合清理命令

可以将上述命令合并执行,一次完成所有清理:

docker image prune -af && docker container prune -f && docker volume prune -f

为什么docker system prune会丢失构建缓存?

默认的docker system prune会删除所有未被使用的Docker资源,包括构建缓存(Build Cache)。而上述单独的清理命令仅针对镜像、容器、卷三类资源,不会触及构建缓存,因此能保留对后续构建有帮助的缓存数据。

进阶:精细控制镜像清理

如果需要保留特定镜像,可通过过滤参数实现:

  • 删除24小时前创建的未使用镜像:
    docker image prune -a -f --filter "until=24h"
    
  • 保留带有特定标签的镜像(比如my-project),删除其他未使用镜像:
    docker images | grep -v "my-project" | awk '{print $3}' | xargs docker rmi
    

内容的提问来源于stack exchange,提问作者Marcos Vile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:22:16