默认下docker images显示所有顶层的镜像,它们的仓库,tag和它们的大小。
docker镜像有中间数据层来提高可重用性,减小硬盘占用和通过允许每一个步骤缓存来加速docker build。这些中间层默认不显示。
SIZE列显示的是该镜像和其所有父镜像累积的空间大小。这也是在Docker save镜像时创建的Tar文件的内容使用的磁盘空间。
如果一个镜像有多个存储库名称或tag,将会列出多次。
docker images命令接受一个可选的[REPOSITORY[:TAG]]参数来限制列出匹配参数的镜像。如果只指定存储库名称没有指定tag,docker images命令列出匹配的存储库名称的所有镜像。
例如,列出所有”java”镜像,命令如下:
[REPOSITORY[:TAG]]值必须是完全匹配的。例如,docker images jav不会匹配镜像java。
如果REPOSITORY和TAG都提供了,只列出出匹配repository和tag的镜像。例如:
如果没有匹配REPOSITORY[:TAG],列表为空:
使用v2或之后格式的镜像有一个称为digest的内容可寻址标识符。只要用来生成镜像的输入没有更改,这个digest值是可预测的。要列出镜像的digest值,使用–digests参数:
过滤标志-f or –filter格式为key=value。如果超过一个过滤,那么就传递多个标志[如–filter “foo=bar” –filter “bif=baz”]。
目前支持的过滤有:
这会显示无tag镜像。当新构建的镜像占用这个镜像ID的repo:tag时,会出现这些图像,将其保留为
label过滤匹配指定label的镜像。
下面示例列出匹配com.example.version label的镜像。
下面示例列出匹配label名称为com.example.version,值为1.0的镜像。
before过滤出指定镜像之前创建的镜像。例如:
使用before过滤将得到:
since过滤出指定镜像之后创建的镜像。例如:
使用since过滤将得到:
–format选项使用Go模板打印出指定格式的列表。
Go模板的有效占位符如下所示:
当使用–format选项时,images命令输出模板声明的完全相同的数据,或者使用table指令,将包括列标题。
如下显示无列标题的数据:
显示带列标题的数据: