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

docker 复制代码
docker images prune

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


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

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

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

    bash 复制代码
    docker image prune -f

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

bash 复制代码
docker image prune -a
  • **-a 会删除所有未被容器或标签引用的镜像**(包括有名字但未被使用的镜像)。

  • 添加 -f 强制删除:

    bash 复制代码
    docker image prune -a -f

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

bash 复制代码
docker system prune
  • 添加 -a 会额外删除未被使用的镜像​(不仅仅是悬空镜像):

    bash 复制代码
    docker system prune -a
  • 强制清理(跳过确认提示):

    bash 复制代码
    docker system prune -a -f

⚠️ 注意事项:

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

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

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

    • 建议先手动检查:

      bash 复制代码
      # 列出悬空镜像
      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 实现定时清理,例如:

    json 复制代码
    {
      "features": {
        "buildkit": true
      },
      "builder": {
        "gc": {
          "enabled": true,
          "defaultKeepStorage": "10GB"
        }
      }
    }

总结常用命令:

场景 命令
安全清理悬空镜像 docker image prune -f
彻底清理未使用的镜像 docker image prune -a -f(谨慎!)
全面清理 Docker 系统垃圾 docker system prune -f(不包含未使用镜像)
相关推荐
金刚猿8 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong8 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿8 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
陈桴浮海10 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
70asunflower12 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
ShiLiu_mtx12 小时前
k8s - 7
云原生·容器·kubernetes
春日见13 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe213 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
7哥♡ۣۖᝰꫛꫀꪝۣℋ13 小时前
Spring-cloud\Eureka
java·spring·微服务·eureka
星火s漫天14 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask