云计算百科
云计算领域专业知识百科平台

【使用】【经验】docker 清理未使用的镜像的命令

docker images prune


在 Docker 中清理未使用的镜像(包括悬空镜像和完全未被引用的镜像),可以使用以下命令:


1. ​删除所有悬空镜像​(推荐常用)

docker image prune

  • ​悬空镜像 (dangling images)​​ 是指没有标签且未被任何容器引用的镜像(通常是构建过程中的临时层)。

  • 添加 -f 强制删除(无需确认):

    docker image prune -f


2. ​删除所有未被使用的镜像​(谨慎!)

docker image prune -a

  • ​**-a 会删除所有未被容器或标签引用的镜像**​(包括有名字但未被使用的镜像)。
  • 添加 -f 强制删除:docker image prune -a -f

3. ​清理整个 Docker 系统​(停止的容器 + 悬空镜像 + 网络 + 构建缓存等)

docker system prune

  • 添加 -a 会额外删除未被使用的镜像​(不仅仅是悬空镜像):

    docker system prune -a

  • 强制清理(跳过确认提示):

    docker system prune -a -f


⚠️ 注意事项:

  • ​悬空镜像 vs 未使用镜像​:

    • docker image prune → 只删除悬空镜像​(无名镜像)。
    • docker image prune -a → 删除所有未被引用的镜像​(包括有名字但未被容器使用的镜像)。
  • ​数据无价!​​

    • 执行 prune -a 前确保镜像真的不需要(例如,未来启动容器可能会用到的镜像也会被删除)。

    • 建议先手动检查:

      # 列出悬空镜像
      docker images -f dangling=true

      # 列出所有镜像(按占用空间排序)
      docker images –format "{{.ID}}\\t{{.Repository}}\\t{{.Size}}" | sort -k 3 -h

  • ​自动清理​: 可通过配置 Docker Daemon 的 docker-compose.yml 或修改 /etc/docker/daemon.json 实现定时清理,例如:

    {
    "features": {
    "buildkit": true
    },
    "builder": {
    "gc": {
    "enabled": true,
    "defaultKeepStorage": "10GB"
    }
    }
    }


  • 总结常用命令:

    场景命令
    ​安全清理悬空镜像​ docker image prune -f
    ​彻底清理未使用的镜像​ docker image prune -a -f(谨慎!)
    ​全面清理 Docker 系统垃圾​ docker system prune -f(不包含未使用镜像)

    https://github.com/0voice

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 【使用】【经验】docker 清理未使用的镜像的命令
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!