镜像删除的Untagged 和 Deleted

Untagged: ubuntu:14.04Deleted: sha256:a8e78858b03ba02c3df71d555f90057f890495aabc86e7a39396c68c87ed5ff2

当我们在docker中执行docker images命令查看到一些不想使用的镜像或容器时,会执行docker rmi -f xxx来对相应的目标进行删除操作,但相应的命令执行完成后会出现上面的两种情况,一种是删除成功,另一种则只是将镜像对应的标签解除了,所以二者有何区别呢?

Untagged 和 Deleted

Untagged

我们首先都知道镜像的唯一标识是其 ID 和摘要,但一个镜像可以有多个标签
因此当我们使用上面命令删除镜像的时候,实际上是在要求删除某个标签的镜像。所以首先需要做的是将满足我们要求的所有镜像标签都取消,这就是我们看到的 Untagged 的信息。因为一个镜像可以对应多个标签,因此当我们删除了所指定的标签后,可能还有别的标签指向了这个镜像,如果是这种情况,那么 Delete 行为就不会发生。所以并非所有的 docker rmi 都会产生删除镜像的行为,有可能仅仅是取消了某个标签而已。

Delated

当一个镜像所有的标签都被取消了,该镜像很可能会失去了存在的意义,因此会触发删除行为。镜像是多层存储结构,因此在删除的时候也是从上层向基础层方向依次进行判断删除。镜像的多层结构让镜像复用变动非常容易,因此很有可能某个其它镜像正依赖于当前镜像的某一层。这种情况,依旧不会触发删除该层的行为。直到没有任何层依赖当前层时,才会真实的删除当前层。所以delated命令触发的判断机制要比untagged要难上许多。

用 docker images 命令来配合

像其它可以承接多个实体的命令一样,可以使用 docker images -q 来配合使用 docker rmi,这样可以成批的删除希望删除的镜像。比如删除虚悬镜像的指令是:

$ docker rmi $(docker images -q -f dangling=true)

比如,我们需要删除所有仓库名为 redis 的镜像:

$ docker rmi $(docker images -q redis)

或者删除所有在 mongo:3.2 之前的镜像:

$ docker rmi $(docker images -q -f before=mongo:3.2)

Docker学习之镜像删除的Untagged 和 Deleted相关推荐

  1. Docker学习笔记_删除某个镜像

    实验:删除某个镜像 sudo docker rmi [Image ID] 1.查看镜像的ID                  sudo docker images 2.删除镜像            ...

  2. Docker学习之镜像操作

    使用Docker镜像 以下都是Docker镜像的一系列重要名操作,包括获取.查看.搜索.删除.创建.存出或载入.上传等.可使用docker image help命令查看帮助. 1.获取镜像(pull) ...

  3. 阿良老师 Docker学习_Harbor镜像仓库搭建和使用

    一.Harbor是什么? Harbor是由VMWare公司开源的容器镜像仓库,事实上Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性 ...

  4. Docker学习 - Ubuntu镜像启动使用(换阿里镜像源)

      Ubuntu系统 阿里云镜像源官方配置: https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11PKz ...

  5. docker问题之相同id镜像删除以及正在运行容器的镜像删除

    docker问题之镜像删除 今天在Ubuntu下搭建apache时,始终无法进入自己写的页面,浏览器输入127.0.0.1依旧是apache官网页面,心想是不是dockerfile出了问题,一查看,果 ...

  6. linux卸载k8s,K8S镜像删除及环境清理

    环境清理: #删除所有容器 sudo docker rm -f $(sudo docker ps -qa) #删除/var/etcd目录 sudo rm -rf /var/etcd #删除/var/l ...

  7. Docker笔记-02 镜像

    文章目录 1 获取镜像 1.1 pull子命令选项 2 查看镜像信息 2.1 使用images命令列出镜像 2.1.1 虚悬镜像 2.1.2 中间层镜像 2.1.3 列出部分镜像 2.1.4 以特定格 ...

  8. Docker学习记录(到docker-compose)

    Docker 官网:https://www.docker.com/ 文档:https://docs.docker.com/ 仓库:https://hub.docker.com/ Docker的组成 镜 ...

  9. Docker学习笔记八:删除镜像构建私有Registry

    删除镜像 如果要删除本地的镜像,可以使用 docker rmi (注意rm为删除容器,而rmi为删除镜像,其中i代表image)命令,它的具体语法如下: docker rmi [OPTIONS] IM ...

  10. Docker学习二:Docker镜像与容器

    前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...

最新文章

  1. extends thread java_java学习之- 线程继承Thread类
  2. druid字段级_Druid的数据结构
  3. 按 字节截取分别以GBK 和 utf-8 编码的 字符串的java程序。
  4. 股票市值高好还是低好呢?
  5. 小冰与老东家微软达成战略合作,并宣布数亿元Pre-A轮融资,将全面开展商业化
  6. QT 框架搭建,用最原始的方法实现简单的塔防游戏 | 原力计划
  7. PowerDesigner的基本使用
  8. dnSpy 反编译exe
  9. 算法的稳定性matlab,基于MATLAB地震反应谱数值算法的稳定性和精度分析
  10. Hello JavaEye
  11. MATLAB图像分割实验代码及运行结果
  12. vue之仿网易严选详解
  13. BOS 系统 定区关联客户功能实现
  14. linux pipe2函数,pipe()函数 Unix/Linux
  15. dxdiag windows硬件检测
  16. 2019年数学建模C题
  17. Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
  18. APP与小程序—信息收集
  19. 如何让Excel的表头产生筛选条件?
  20. arthas-dashboard

热门文章

  1. 2019年春季学期《软件工程》教学总结
  2. 我的计算机加密,安装加密系统后,打开我的电脑速度变慢
  3. 第四课曲面与曲线方程
  4. 怎样用计算机自带软件打电话,怎样用电脑拨号打电话 yuntel电话助手自动拨号软件...
  5. ECharts3基础教程(一)简单上手篇
  6. 苹果设备解锁工具:iToolab UnlockGo for Mac
  7. Windows下【AxureRP】原型设计工具破解码与安装包
  8. nachos 5.0j(java版)学习笔记一:环境搭建
  9. 1.SCRT怎么连接Ensp里面的设备???
  10. 从阿尔法狗元(AlphaGo Zero)的诞生看终极算法的可能性