1 前言

欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章!

搞容器开发一段时间后,想看看都有哪些镜像,执行了一下docker images -a,蒙圈了,有一堆<none>:<none>的镜像。不知有什么用,不知能不能删,不知会不会占用很多空间。接下来我们探索一下吧。

2 镜像也有好坏吗?

这些<none>:<none>镜像可分为两类:好与坏、有用与无用、不建议删除和建议删除的。

2.1 好的none

好的<none>:<none>镜像是由于镜像分层的中间镜像。它们只会在docker images -a才会显示出来,用docker images是不会显示的。它们也不会造成空间问题。

2.2 坏的none

坏的<none>:<none>镜像会占用空间,主要是由于新加镜像替换原来相对标签的镜像,原来镜像就变成了<none>:<none>而不会被删除。

我们执行docker images查看:

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pkslow/springboot-mongo 0.0.6 f029f9b6e703 28 minutes ago 356MB
pkslow/springboot-mongo latest f029f9b6e703 28 minutes ago 356MB
<none> <none> 56de36189ad6 29 minutes ago 356MB
<none> <none> 9e00dfd258dc 40 hours ago 356MB
<none> <none> 2d736eaaafd0 2 weeks ago 346MB

然后再docker build一次,用同样的标签0.0.6

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pkslow/springboot-mongo 0.0.6 2119e4fbc6e8 43 seconds ago 356MB
pkslow/springboot-mongo latest 2119e4fbc6e8 43 seconds ago 356MB
<none> <none> f029f9b6e703 30 minutes ago 356MB
<none> <none> 56de36189ad6 31 minutes ago 356MB
<none> <none> 9e00dfd258dc 40 hours ago 356MB
<none> <none> 2d736eaaafd0 2 weeks ago 346MB

认真查看可以得出,以前最新的镜像ID为f029f9b6e703,后来变成了<none>:<none>

这些坏坏的镜像也叫dangling images,空悬镜像。

3 如何删除dangling images

既然没用,又还占用空间,不如就删掉它。Docker没有自动删除这些镜像的机制,可以通过以下命令删除:

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

检查一下,已经没有<none>的镜像了。

$ docker images | grep '<none>'

欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

多读书,多分享;多写作,多整理。

Docker这些none:none的镜像,难道就不配拥有名字吗的更多相关文章

  1. 【docker linux】linux系统镜像转化为docker镜像

    概述 使用docker安装linux的同学都知道,你在docker提供的仓库安装linux系统,你就会体验到最精简的.最纯净的linux系统,当然,他会精简到你连ifconfig命令都需要自己配置,恰 ...

  2. docker学习笔记3:镜像操作(查找和下载)

    一.查看本地镜像 只有下载后,镜像才会保存在本地(docker环境所在的主机),通过如下命令可以查看本地已经存在的镜像. 命令:dokcer images 上面命令列出本地所有已经存在的镜像,显示的信 ...

  3. docker:(1)docker基本命令使用及发布镜像

    docker镜像可以完全看作一台全新的电脑使用,无论什么镜像都是对某一东西进行了配置,然后打包后可以快速移植到需要的地方直接使用 省去复杂的配置工作 比如java web项目部署,如果是新部署,需要装 ...

  4. docker入门(二)容器与镜像的理解

    10张图带你深入理解Docker容器和镜像 申明:此篇文章是转载的(原文地址http://dockone.io/article/783),今天意外发现已经有人转载了(复制了),希望大家关注原创 原本打 ...

  5. docker入门(二)容器与镜像的关系

    [编者的话]本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(co ...

  6. 详解docker实战之搭建私有镜像仓库 - kurbernetes

    1.实战目的 搭建企业私有的镜像仓库,满足从开发环境推送和拉取镜像.当我们使用k8s来编排和调度容器时,操作的基本单位是镜像,所以需要从仓库去拉取镜像到当前的工作节点.本来使用公共的docker hu ...

  7. docker (2) 通用/镜像命令

    Docker 的常用命令: (1)Docker  help 命令: 可以查看有关docker的所有操作命令: (2)docker COMMAND -–help 查看docker 的某项命令的帮助文档 ...

  8. Docker实践之02-使用镜像及定制

    目录 一.获取镜像 二.使用镜像启动容器实例 三.列出镜像 四.删除本地镜像 五.定制镜像 通过commit命令定制镜像 通过Dockerfile定制镜像 docker build的工作原理 dock ...

  9. Docker commit 命令保存的镜像文件太大的问题

    基础镜像: centos7.5 进入容器后, 先后安装了 jdk1.8, maven3.6.0, git, rocketmq4.3.2 安装完成后使用 docker commit 命令保存为镜像 结果 ...

随机推荐

  1. 区间DP之凸多边形的三角剖分

    题目 给定一具有N个顶点(从1到N编号)的凸多边形,每个顶点的权均已知.问如何把这个凸多边形划分成N-2个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小? 输入 第一行 顶点数N(N<5 ...

  2. HDU 4352 XHXJ's LIS HDU 题解

    题目 #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the ent ...

  3. Report,又是一道思维题

    题目: Each month Blake gets the report containing main economic indicators of the company "Blake ...

  4. POJ3262贪心

    题意:FJ去砍树,然后和平时一样留了 N (2 ≤ N ≤ 100,000)头牛吃草.当他回来的时候,他发现奶牛们正在津津有味地吃着FJ种的美丽的花!为了减少后续伤害,FJ决定立即采取行动:运输每头牛 ...

  5. Freemarker 使用记录

    1.数字超过1000时会有逗号  ,设置数据格式 <#setting number_format="#"> 2.数据叠加 求总计: 1)定义变量:<#assign ...

  6. SpringCloud组件的停更和替换说明

    SpringCloud的Hoxton版本,和之前的版本相比,用新的组件替换掉了原来大部分的组件,老的组件现在处于 停更不停用 的状况. 详情见下图(× 的表示之前的组件,现在停更了的:√ 的表示新的替 ...

  7. java 基本语法(八) 数组(一) 数组的概述

    * 1.数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名, * 并通过编号的方式对这些数据进行统一管理. * * 2.数组相关的概念: * >数组名 * ...

  8. 数据可视化实例(七): 计数图(matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter5/chapter5 计数图 (Counts Plot) 避免点重叠问题的另一个选择是增加点的大小,这取 ...

  9. Unity-内存

    editor 和runtime的内存管理分开的 unity检测不到native内存容量 如c++,lua 一个asset一个ab的问题在于 每个asset都有对应的文件头,并不划算 IL2CPP抛弃了 ...

  10. Mysql报Too many connections,不要乱用ulimit了,看看如何正确修改进程的最大文件数

    背景 今天在学习mysql时,看到一个案例,大体来说,就是客户端报Too many connections.但是,客户端的连接池,限制为了200,两个客户端java进程,那也才400,然后mysql配 ...