命令:docker images
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] List images Options: -a, --all Show all images (default hides intermediate images)列出所有镜像 --digests Show digests列出更详细信息 -f, --filter filter Filter output based on conditions provided过滤
如:docker images -f dangling=true 可以把那些虚悬镜像列出来
这类镜像已经是没用的了,可使用
$ docker rmi $(docker images -q -f dangling=true)
进行删除
--format string Pretty-print images using a Go template --help Print usage --no-trunc Don't truncate output -q, --quiet Only show numeric IDs
列表包含了仓库名、标签、镜像 ID、创建时间以及所占用的空间。 [root@iZ943kh74qgZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 36540f359ca3 4 weeks ago 193MB [root@iZ943kh74qgZ ~]# docker images --digests REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE centos latest sha256:c1010e2fe2b635822d99a096b1f4184becf5d1c98707cbccae00be663a9b9131 36540f359ca3 4 weeks ago 193MB [root@iZ943kh74qgZ ~]# docker images -q 36540f359ca3
其它用法
根据仓库名列出镜像 $ docker images ubuntu REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f753707788c5 4 weeks ago 127 MB ubuntu latest f753707788c5 4 weeks ago 127 MB ubuntu 14.04 1e0c3dd64ccd 4 weeks ago 188 MB 列出特定的某个镜像,也就是说指定仓库名和标签 $ docker images ubuntu:16.04 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f753707788c5 4 weeks ago 127 MB 除此以外,docker images 还支持强大的过滤器参数 --filter,或者简写 -f。之前我们已经看到了使用过滤器来列出虚悬镜像的用法,它还有更多的用法。比如,我们希望看到在 mongo:3.2 之后建立的镜像,可以用下面的命令: $ docker images -f since=mongo:3.2 REPOSITORY TAG IMAGE ID CREATED SIZE redis latest 5f515359c7f8 5 days ago 183 MB nginx latest 05a60462f8ba 5 days ago 181 MB 想查看某个位置之前的镜像也可以,只需要把 since 换成 before 即可。 此外,如果镜像构建时,定义了 LABEL,还可以通过 LABEL 来过滤。 $ docker images -f label=com.example.version=0.1 ... 以特定格式显示 默认情况下,docker images 会输出一个完整的表格,但是我们并非所有时候都会需要这些内容。比如,刚才删除虚悬镜像的时候,我们需要利用 docker images 把所有的虚悬镜像的 ID 列出来,然后才可以交给 docker rmi 命令作为参数来删除指定的这些镜像,这个时候就用到了 -q 参数。 $ docker images -q 5f515359c7f8 05a60462f8ba fe9198c04d62 00285df0df87 f753707788c5 f753707788c5 1e0c3dd64ccd --filter 配合 -q 产生出指定范围的 ID 列表,然后送给另一个 docker 命令作为参数,从而针对这组实体成批的进行某种操作的做法在 Docker 命令行使用过程中非常常见,不仅仅是镜像,将来我们会在各个命令中看到这类搭配以完成很强大的功能。因此每次在文档看到过滤器后,可以多注意一下它们的用法。 另外一些时候,我们可能只是对表格的结构不满意,希望自己组织列;或者不希望有标题,这样方便其它程序解析结果等,这就用到了 Go 的模板语法。 比如,下面的命令会直接列出镜像结果,并且只包含镜像ID和仓库名: $ docker images --format "{{.ID}}: {{.Repository}}" 5f515359c7f8: redis 05a60462f8ba: nginx fe9198c04d62: mongo 00285df0df87: <none> f753707788c5: ubuntu f753707788c5: ubuntu 1e0c3dd64ccd: ubuntu 或者打算以表格等距显示,并且有标题行,和默认一样,不过自己定义列: $ docker images --format "table {{.ID}} {{.Repository}} {{.Tag}}" IMAGE ID REPOSITORY TAG 5f515359c7f8 redis latest 05a60462f8ba nginx latest fe9198c04d62 mongo 3.2 00285df0df87 <none> <none> f753707788c5 ubuntu 16.04 f753707788c5 ubuntu latest 1e0c3dd64ccd ubuntu 14.04