彻底清理 docker 构建缓存需用 docker builder prune 命令:-f 清悬空缓存,-a -f 清全部,--filter "until=48h" 按时间清理;确认 buildkit 启用后,缓存位于 /var/lib/docker/buildkit/cache/;配 daemon.json 的 builder.gc.defaultkeepstorage 可限容防堆积。
彻底清理 docker engine 中的临时构建缓存,核心是针对 buildkit 缓存(默认启用)和传统构建器残留两部分,不能只靠 docker image prune —— 它根本看不到构建缓存。
确认当前使用的是 BuildKit 构建器
新版 Docker 默认启用 BuildKit。运行以下命令检查:
docker info | grep -i buildkit
若输出显示 BuildKit: true,说明缓存存于 /var/lib/docker/buildkit/cache/,需用 docker builder prune 清理;若为 false,则走旧版缓存路径(/var/lib/docker/aufs/diff 或 overlay2 下的中间层),但这种情况在 2026 年已极少见。
精准清除构建缓存(推荐方式)
不用删文件系统,用 Docker 原生命令安全释放:
- 只清“悬空”的构建缓存(中断构建、未被复用的中间层):
docker builder prune -f - 清全部构建缓存(含已被引用但闲置的):
docker builder prune -a -f - 按时间清理(例如只保留最近 48 小时内访问过的):
docker builder prune -f --filter "until=48h"
验证是否清干净
执行后查看剩余缓存大小:
docker builder prune --info
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
输出中会显示 Total cache usage 和 Number of build cache objects。若数值明显下降(如从 12GB → 几百 MB),说明生效。注意:正在运行的构建过程中的缓存不会被删,这是 Docker 的保护机制。
防止下次又爆满
清理是补救,限制才是治本。编辑 /etc/docker/daemon.json,加入:
"builder": {"gc": {"defaultKeepStorage": "3g"}}
然后重启 Docker:
sudo systemctl restart docker
BuildKit 会自动淘汰最久未用的缓存层,把总量稳在 3GB 内,避免野蛮堆积。










