Docker 清理缓存
第一步:查看当前状况
查看整体磁盘使用情况:
docker system dfTYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          11        8         5.461GB   861.3MB (15%)
Containers      9         7         24.71MB   45.46kB (0%)
Local Volumes   0         0         0B        0B
Build Cache     33        0         3.096GB   3.096GB查看详细信息(可选):
docker system df -v这会显示镜像、容器、本地卷和构建缓存各占用多少空间。
第二步:分析并选择清理策略
根据查看结果,判断哪些占用空间最多:
- Build Cache 占用大 → 重点清理构建缓存 
- Images 占用大 → 重点清理镜像 
- Containers 占用大 → 重点清理容器 
第三步:渐进式清理
温和清理(推荐首选):
# 清理未使用的构建缓存
docker builder prune
# 清理停止的容器、未使用的网络和悬空镜像
docker system prune
# 清理停止的容器、未使用的网络和悬空镜像 -f 参数的含义是 --force,表示强制执行,跳过确认提示。
docker system prune -f会弹出如下警告提示信息:
# 输入y,立即进行删除
WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N]查看清理效果:
docker system df第四步:深度清理(如果需要)
如果空间还不够,继续:
# 清理所有未使用的镜像
docker image prune -a
# 清理所有构建缓存(包括正在使用的)
docker builder prune -a再次查看效果:
docker system df第五步:终极清理(谨慎使用)
如果确实需要释放最大空间:
# 警告:这会删除所有未使用的资源
docker system prune -a
# 如果连数据卷也要清理(非常危险)
docker system prune -a --volumes完整的一键脚本
#!/bin/bash
echo "=== Docker 缓存清理 ==="
echo "清理前状态:"
docker system df
echo ""
echo "开始清理未使用的资源..."
docker system prune -f
echo ""
echo "清理后状态:"
docker system df
echo ""
echo "清理完成!"优势: 这种渐进式方法让你能够控制清理程度,避免意外删除重要资源,同时能清楚看到每一步的效果。
Last updated
Was this helpful?