清理docker占用的磁盘空间

来源:赵克立博客 分类: Linux 标签:Docker发布时间:2025-08-07 18:41:39最后更新:2025-08-07 18:41:39浏览:12
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2025-08-07 18:41:39
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

清理docker长时间使用占用的空间

#!/bin/bash

# ================================
# Docker 清理脚本
# 功能:清理构建缓存、悬空镜像和系统级未使用资源
# 注意:该脚本会删除不再使用的 Docker 资源,请确保不需要保留这些数据
# ================================

echo "Cleaning Docker build cache..."

# 1. 清理构建缓存(Build Cache)
# --------------------------------
# 清理所有未被引用的构建中间层(intermediate layers)
# 这些是执行 docker build 时产生的临时镜像层,用于加速重建
# 即使删除了镜像,这些中间层仍可能残留,占用 /var/lib/docker/overlay2 空间
# 特别是在使用多阶段构建(multi-stage)时,builder 阶段的层也会被缓存
docker builder prune -f

# 2. 清理悬空镜像(Dangling Images)
# --------------------------------
# 删除所有标签为 <none>:<none> 的“悬空”镜像
# 这些通常是旧版本镜像、构建过程中被覆盖的中间镜像
# 例如:当你重新构建同名镜像时,旧的镜像会变成悬空状态
docker image prune -f

# 3. 清理整个 Docker 系统未使用资源
# --------------------------------
# 这是一个综合清理命令,包含以下内容:
#   - 所有停止的容器
#   - 所有未使用的网络(未连接到任何容器)
#   - 所有悬空镜像(和 image prune 重复,但更全面)
#   - 所有构建缓存(和 builder prune 有部分重叠,但更彻底)
# 注意:它不会删除 volumes,除非加上 --volumes 参数
docker system prune -f

echo "Docker cleanup done."



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python