©
本文档使用
php.cn手册 发布
列表图像
docker images [OPTIONS] [REPOSITORY[:TAG]]
名字,简写 | 默认 | 描述 |
---|---|---|
--all, -a | false | 显示所有图像(默认隐藏中间图像) |
--digests | false | 显示摘要 |
--filter, -f | 根据提供的条件过滤输出 | |
--format | 使用Go模板打印出漂亮的图像 | |
--no-trunc | false | 不要截断输出 |
--quiet, -q | false | 只显示数字ID |
Command | Description |
---|---|
docker | The base command for the Docker CLI. |
默认docker images
将显示所有顶级图像,它们的存储库和标签,以及它们的大小。
Docker 映像具有中间层,docker build
通过允许缓存每个步骤来提高可重用性,减少磁盘使用并加快速度。这些中间层默认不显示。
SIZE
是图像及其所有父图像占用的累积空间。这也是您docker save
在映像中创建的 Tar 文件内容所使用的磁盘空间。
如果图像具有多个存储库名称或标签,则图像将被多次列出。这张单张图片(通过匹配识别IMAGE ID
)SIZE
只用了一次。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> 77af4d6b9913 19 hours ago 1.089 GB committ latest b6fa739cedf5 19 hours ago 1.089 GB<none> <none> 78a85c484f71 19 hours ago 1.089 GB docker latest 30557a29d5ab 20 hours ago 1.089 GB<none> <none> 5ed6274db6ce 24 hours ago 1.089 GB postgres 9 746b819f315e 4 days ago 213.4 MB postgres 9.3 746b819f315e 4 days ago 213.4 MB postgres 9.3.5 746b819f315e 4 days ago 213.4 MB postgres latest 746b819f315e 4 days ago 213.4 MB
docker images
命令采用可选[REPOSITORY[:TAG]]
参数,将列表限制为与参数匹配的图像。如果您指定REPOSITORY
但不是TAG
,则该docker images
命令会列出给定存储库中的所有图像。
例如,要列出“java”存储库中的所有图像,请运行以下命令:
$ docker images java REPOSITORY TAG IMAGE ID CREATED SIZE java 8 308e519aac60 6 days ago 824.5 MB java 7 493d82594c15 3 months ago 656.3 MB java latest 2711b1d6f3aa 5 months ago 603.9 MB
[REPOSITORY[:TAG]]
值必须是“完全匹配”。这意味着,例如,docker images jav
与图像不匹配java
。
如果提供REPOSITORY
和TAG
,仅匹配库和标签图像中列出。要在标签为“8”的“java”存储库中查找所有本地图像,可以使用:
$ docker images java:8REPOSITORY TAG IMAGE ID CREATED SIZE java 8 308e519aac60 6 days ago 824.5 MB
如果没有匹配REPOSITORY[:TAG]
,则列表为空。
$ docker images java:0REPOSITORY TAG IMAGE ID CREATED SIZE
$ docker images --no-trunc REPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> sha256:77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182 19 hours ago 1.089 GB committest latest sha256:b6fa739cedf5ea12a620a439402b6004d057da800f91c7524b5086a5e4749c9f 19 hours ago 1.089 GB<none> <none> sha256:78a85c484f71509adeaace20e72e941f6bdd2b25b4c75da8693efd9f61a37921 19 hours ago 1.089 GB docker latest sha256:30557a29d5abc51e5f1d5b472e79b7e296f595abcf19fe6b9199dbbc809c6ff4 20 hours ago 1.089 GB<none> <none> sha256:0124422dd9f9cf7ef15c0617cda3931ee68346455441d66ab8bdc5b05e9fdce5 20 hours ago 1.089 GB<none> <none> sha256:18ad6fad340262ac2a636efd98a6d1f0ea775ae3d45240d3418466495a19a81b 22 hours ago 1.082 GB<none> <none> sha256:f9f1e26352f0a3ba6a0ff68167559f64f3e21ff7ada60366e2d44a04befd1d3a 23 hours ago 1.089 GB tryout latest sha256:2629d1fa0b81b222fca63371ca16cbf6a0772d07759ff80e8d1369b926940074 23 hours ago 131.5 MB<none> <none> sha256:5ed6274db6ceb2397844896966ea239290555e74ef307030ebb01ff91b1914df 24 hours ago 1.089 GB
使用 v2 或更高版本格式的图像具有称为digest
的内容可寻址标识符。只要用于生成图像的输入不变,摘要值就可以预测。要列出图片摘要值,请使用以下--digests
标志:
$ docker images --digests REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE localhost:5000/test/busybox <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf 4986bf8c1536 9 weeks ago 2.43 MB
当推或拉到2.0注册表时,push
或pull
命令输出包含图像摘要。您可以pull
使用摘要值。您也可以通过引用消化create
,run
和rmi
命令,还有FROM
在 Dockerfile 图像参考。
过滤标志(-f
或--filter
)格式为“key = value”。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz"
)
目前支持的过滤器是:
dangling(布尔 - true 或 false )
标签(label=<key>
或label=<key>=<value>
)
before(<image-name>[:<tag>]
,<image id>
或<image@digest>
) -过滤图像创建之前给定 id 或引用
因为(<image-name>[:<tag>]
,<image id>
或<image@digest>
) -给定 id 或引用创建的过滤器的图像
参考(图像参考的图案) - 过滤参考与指定图案匹配的图像
$ docker images --filter "dangling=true"REPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> 8abc22fbb042 4 weeks ago 0 B<none> <none> 48e5f45168b9 4 weeks ago 2.489 MB<none> <none> bf747efa0e2f 4 weeks ago 0 B<none> <none> 980fe10e5736 12 weeks ago 101.4 MB<none> <none> dea752e4e117 12 weeks ago 101.4 MB<none> <none> 511136ea3c5a 8 months ago 0 B
这将显示未标记的图像,即图像树的叶子(不是中间层)。这些图像在图像的新版本repo:tag
将图像标识从图像标识中移开时保留为<none>:<none>
或不标记。如果在容器正在使用时尝试删除图像,则会发出警告。通过拥有这个标志,它可以批量清理。
你可以结合使用这个docker rmi ...
:
$ docker rmi $(docker images -f "dangling=true" -q)8abc22fbb042 48e5f45168b9 bf747efa0e2f 980fe10e5736 dea752e4e117 511136ea3c5a
注::Docker 发出警告,如果存在使用这些无标记图像的容器。
label
过滤器匹配基础上的存在的图像label
单独或label
和值。
以下过滤器将图像与com.example.version
标签进行匹配,而不管其值如何。
$ docker images --filter "label=com.example.version"REPOSITORY TAG IMAGE ID CREATED SIZE match-me-1 latest eeae25ada2aa About a minute ago 188.3 MB match-me-2 latest dea752e4e117 About a minute ago 188.3 MB
下面的筛选器将图像与com.example.version
标签上带有1.0
价值。
$ docker images --filter "label=com.example.version=1.0"REPOSITORY TAG IMAGE ID CREATED SIZE match-me latest 511136ea3c5a About a minute ago 188.3 MB
在本例中,使用0.1
值时,它返回一个空集,因为没有找到匹配项。
$ docker images --filter "label=com.example.version=0.1"REPOSITORY TAG IMAGE ID CREATED SIZE
before
过滤器仅显示在具有给定 ID 或引用的图像之前创建的图像。例如,拥有这些图像:
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE image1 latest eeae25ada2aa 4 minutes ago 188.3 MB image2 latest dea752e4e117 9 minutes ago 188.3 MB image3 latest 511136ea3c5a 25 minutes ago 188.3 MB
过滤用before
会:
$ docker images --filter "before=image1"REPOSITORY TAG IMAGE ID CREATED SIZE image2 latest dea752e4e117 9 minutes ago 188.3 MB image3 latest 511136ea3c5a 25 minutes ago 188.3 MB
过滤用since
会:
$ docker images --filter "since=image3"REPOSITORY TAG IMAGE ID CREATED SIZE image1 latest eeae25ada2aa 4 minutes ago 188.3 MB image2 latest dea752e4e117 9 minutes ago 188.3 MB
reference
过滤器仅显示引用与指定模式匹配的图像。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest e02e811dd08f 5 weeks ago 1.09 MB busybox uclibc e02e811dd08f 5 weeks ago 1.09 MB busybox musl 733eb3059dce 5 weeks ago 1.21 MB busybox glibc 21c16b6787c6 5 weeks ago 4.19 MB
过滤用reference
会:
$ docker images --filter=reference='busy*:*libc'REPOSITORY TAG IMAGE ID CREATED SIZE busybox uclibc e02e811dd08f 5 weeks ago 1.09 MB busybox glibc 21c16b6787c6 5 weeks ago 4.19 MB
格式化选项(--format
)将使用 Go 模板打印容器输出。
下面列出了 Go 模板的有效占位符:
Placeholder | Description |
---|---|
.ID | Image ID |
.Repository | Image repository |
.Tag | Image tag |
.Digest | Image digest |
.CreatedSince | Elapsed time since the image was created |
.CreatedAt | Time when the image was created |
.Size | Image disk size |
当使用--format
选项时,image
命令将完全按照模板声明输出数据,或者在使用该table
指令时也会包含列标题。
以下示例使用不带标题的模板,并输出由冒号分隔的所有图像ID
和Repository
条目:
$ docker images --format "{{.ID}}: {{.Repository}}"77af4d6b9913: <none>b6fa739cedf5: committ 78a85c484f71: <none>30557a29d5ab: docker 5ed6274db6ce: <none>746b819f315e: postgres 746b819f315e: postgres 746b819f315e: postgres 746b819f315e: postgres
要以表格格式列出存储库和标签的所有图像,可以使用:
$ docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"IMAGE ID REPOSITORY TAG 77af4d6b9913 <none> <none>b6fa739cedf5 committ latest 78a85c484f71 <none> <none>30557a29d5ab docker latest 5ed6274db6ce <none> <none>746b819f315e postgres 9746b819f315e postgres 9.3746b819f315e postgres 9.3.5746b819f315e postgres latest