首页/云/Docker 容器速查/docker rmi 删除本地镜像
镜像与构建107 条

docker rmi 删除本地镜像

按标签或镜像 ID 删除本地镜像;删除前先确认没有容器(含已停止容器)仍引用目标,被引用的镜像会拒绝删除。

Docker 容器速查云更新于 2026-10-13

docker rmi 是什么

删除本地镜像。要分清两种情况:按标签删除只是摘掉一个引用名,镜像数据仍被其他标签或容器引用时不会真正消失;按内容标识删除则会摘掉该镜像的全部标签并删除本体。动手前的第一步是确认引用关系。

基本信息

语法docker rmi [选项] 镜像[:标签|标识]
删除粒度按标签删一个引用,按标识删全部引用与本体
常用选项-f 强制删除 --no-prune 保留未被引用的父层
前置检查确认没有容器(含已停止容器)在使用该镜像
报错常见原因镜像仍被容器引用,或存在多个标签指向同一标识

典型使用场景

  • 清理旧版本:确认回滚不需要后删除历史版本标签,释放空间
  • 收敛本地镜像:开发机上积累了大量构建产物,按仓库名批量清理
  • 修正标签错误:名字打错后删掉错误引用,重新打正确标签
  • 为磁盘腾空间:结合占用总览确定哪些镜像可以回收
  • 规范仓库:把不再维护的镜像从本地删除,减少误解用风险

常用示例

常用示例
docker rmi app/web:1.0                                # 删除指定标签
docker rmi registry.example.com/team/app-web:1.0 app/web:latest  # 一次删多个标签
docker ps -a --filter ancestor=app/web:1.0             # 先确认有没有容器在用
docker rmi -f app/web:1.0                              # 强制删除,谨慎使用
docker images --filter dangling=true                   # 顺手看看悬空镜像

删不掉的常见原因

提示原因处理办法
镜像被容器使用有运行中或已停止的容器引用它先处置容器,或改成按标签删掉多余引用
与其他标签冲突同一标识上有多个标签按完整标签删除,或改为按标识删除全部引用
层被其他镜像共享该层仍被别的镜像引用属于正常现象,无需处理
权限不足当前账号无权访问引擎确认权限后重试
网络与仓库无关删除是本地操作不要把本地删除失败归因于远端仓库

清理镜像的顺序

  • 先看占用总览,确认哪些类型占用最多,避免只清镜像效果有限
  • 再列出本地镜像,按仓库名与创建时间确定候选集合
  • 确认回滚所需版本已经推送到仓库或导出留档
  • 删除时优先按标签操作,遇到共用标识时再决定是否删掉全部引用
  • 清理后复核一次列表与占用,确认达到了预期效果
只删标签不等于删镜像。共享同一标识的多个标签中删掉一个,镜像数据仍被其他标签引用,磁盘占用几乎不变。
强制删除会连带处理依赖该镜像的中间层,仅在确认没有其他引用时使用。运行中容器的镜像被强删,可能导致容器重建时找不到基础镜像。

易错点

  • 以为删掉标签就释放了空间,实际镜像仍被引用,磁盘占用没有变化
  • 运行中的容器正在使用的镜像被强删,后续重建失败或需要重新拉取
  • 删之前没有留档回滚版本,出问题只能重新构建,构建环境可能已经变了
  • 用强删掩盖引用问题,真正需要处理的是仍在使用的容器

数据来源与参考

  • Docker 官方 CLI 参考:docker rmi(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌