当前位置: 首页 > news >正文

【使用】【经验】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
    

⚠️ 注意事项:

  1. 悬空镜像 vs 未使用镜像​:

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

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

    • 建议先手动检查:

      # 列出悬空镜像
      docker images -f dangling=true# 列出所有镜像(按占用空间排序)
      docker images --format "{{.ID}}\t{{.Repository}}\t{{.Size}}" | sort -k 3 -h
      
  3. 自动清理​:
    可通过配置 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(不包含未使用镜像)
http://www.xdnf.cn/news/781129.html

相关文章:

  • 详解代理型RAG与MCP服务器集成
  • 什么是无状态服务
  • Houdini POP入门学习03
  • 题山采玉: Day1
  • 项目开发:【悟空博客】基于SSM框架的博客平台
  • LangChain学习系列之LangChain4j介绍
  • 项目前置知识——不定参以及设计模式
  • 《数据挖掘》- 房价数据分析
  • OpenCV C++ 学习笔记(五):颜色空间转换、数值类型转换、图像混合、图像缩放
  • [P2P]并发模式
  • FastMCP:构建 MCP 服务器和客户端的高效 Python 框架
  • 大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
  • 04 APP 自动化- Appium toast 元素定位列表滑动
  • openharmony5.0.0中kernel子系统编译构建流程概览(rk3568)
  • 更新已打包好的 Spring Boot JAR 文件中的 class 文件
  • Git 常用命令 - 服务器用
  • Redis线程模型
  • C#面试问题81-100
  • Redisson学习专栏(五):源码阅读及Redisson的Netty通信层设计
  • Python中os模块详解
  • 数组的常用方法有哪些?
  • 解锁Java多级缓存:性能飞升的秘密武器
  • BugKu Web渗透之game1
  • 2025 Java面试大全技术文章大纲
  • 链表题解——反转链表【LeetCode】
  • C++ stl容器之vector用法
  • 经典SQL查询问题的练习第四天
  • Laravel模型状态:深入理解Eloquent的隐秘力量
  • windows安装和部署docker
  • Dockerfile 使用多阶段构建(build 阶段 → release 阶段)前端配置