Docker清理核心是构建缓存、悬空镜像、未用卷和网络:先用docker system df -v查看占用,再分别执行docker builder prune -f、docker image prune -af、docker volume prune -f、docker network prune -f;一键清理用docker system prune -a --volumes -f。

Docker 本身没有“配置缓存”这一独立概念,你实际想清理的,通常是构建过程产生的构建缓存(build cache)、长期积累的悬空镜像(dangling images)、未使用的卷(volumes),以及可能残留的构建中间产物或本地 builder 配置状态。这些资源常被误称为“配置缓存”,但本质是构建和运行过程中生成的临时或冗余数据。
下面分四类给你讲清楚怎么安全、有效地清理:
查看当前占用情况,再动手
别急着删,先看哪些东西占了空间:
docker system df
输出会明确列出 Images、Containers、Volumes、Build Cache 各自的大小和数量。
再加 -v 看详细清单:
docker system df -v
这样你能一眼看出哪类资源最“臃肿”,比如构建缓存占了 12GB,或某个卷存了 8GB 日志。
清理构建缓存(最常被当成“配置缓存”)
构建缓存由 Docker Builder(尤其是 BuildKit)管理,存储在 /var/lib/docker/buildkit/ 下,无法手动删文件,必须用命令:
- 清理所有未被引用的构建缓存(推荐日常用):
docker builder prune
- 强制清理 + 不提示确认:
docker builder prune -f
- 清理指定时间前的缓存(比如 7 天前的):
docker builder prune --filter "until=168h" -f
清理悬空镜像和未使用镜像
悬空镜像(<none>:<none>)是构建过程中的中间层,没标签也没容器在用,纯属冗余:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
docker image prune -f
如果想更彻底——连带那些有标签但没容器在用的镜像也清掉(慎用,确保没保留需求):
docker image prune -a -f
清理未使用的卷和网络(常被忽略的“配置残留”)
卷里可能存着旧容器的配置文件、临时数据库、日志等;网络残留则影响后续启动:
docker volume prune -f docker network prune -f
⚠️ 注意:volume prune 会永久删除数据,操作前务必确认卷里没重要配置或持久化内容(如 MySQL 数据目录、Nginx conf 备份等)。
需要一键清空全部无用资源(容器、网络、镜像、构建缓存):
docker system prune -a -f
加 --volumes 可顺带清理未挂载卷(同样高风险,仅限测试/开发机):
docker system prune -a --volumes -f
不复杂但容易忽略

















