docker清理未使用的镜像的命令详解及注意事项

 更新时间:2025年06月09日 09:23:45   作者:ALex_zry  
Docker命令是使用Docker的基础,这篇文章主要介绍了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(不包含未使用镜像)

到此这篇关于docker清理未使用的镜像的命令详解及注意事项的文章就介绍到这了,更多相关docker清理未使用镜像命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker部署前后端分离项目的实现示例

    Docker部署前后端分离项目的实现示例

    本文主要介绍了Docker部署前后端分离项目的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • docker 连接宿主Mysql操作

    docker 连接宿主Mysql操作

    这篇文章主要介绍了docker 连接宿主Mysql操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Jenkins构建Docker镜像并推送至Harbor仓库的实现

    Jenkins构建Docker镜像并推送至Harbor仓库的实现

    本文主要介绍了Jenkins构建Docker镜像并推送至Harbor仓库,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker程序镜像的安装流程

    docker程序镜像的安装流程

    镜像相当于容器的"源代码",docker 镜像文件类似于 Java 类模板,而 docker 容器实例类似于 Java 中 new 出来的实例对象,这篇文章主要介绍了docker程序镜像的安装,需要的朋友可以参考下
    2024-01-01
  • -bash: docker-compose未找到命令的解决方案

    -bash: docker-compose未找到命令的解决方案

    这篇文章主要介绍了-bash: docker-compose: 未找到命令,需要的朋友可以参考下
    2023-12-12
  • Docker使用Calico网络模式配置及问题处理方法

    Docker使用Calico网络模式配置及问题处理方法

    这篇文章主要介绍了Docker使用Calico网络模式配置及问题处理,设计思想是Calico不使用隧道或者NAT来实现转发,而是巧妙的把所有二三层流量转换成三层流量,并通过host上路由配置完成跨host转发,需要的朋友可以参考下
    2022-11-11
  • 解决docker容器重启之后/etc下某些配置文件被重置的问题

    解决docker容器重启之后/etc下某些配置文件被重置的问题

    这篇文章主要介绍了解决docker容器重启之后/etc下某些配置文件被重置的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 在docker-compose.yml文件中配置容器的环境变量方式

    在docker-compose.yml文件中配置容器的环境变量方式

    本文介绍了在docker-compose.yml文件中设置和使用环境变量的方法,包括直接设置环境变量、从文件读取环境变量以及使用多个环境文件进行不同部署环境的配置
    2024-11-11
  • Rabbitmq heartbea心跳检测机制原理解析

    Rabbitmq heartbea心跳检测机制原理解析

    这篇文章主要介绍了Rabbitmq heartbea心跳检测机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Docker容器无法被stop or kill问题的解决方法

    Docker容器无法被stop or kill问题的解决方法

    这篇文章主要介绍了Docker容器无法被stop or kill问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论