码头工人图像
描述
列出图片
用法
$ docker images [OPTIONS] [REPOSITORY[:TAG]]
扩展说明
默认值docker images
将显示所有顶级图像,它们的存储库和标签以及它们的大小。
Docker映像具有中间层,可docker build
通过允许缓存每个步骤来提高可重用性,减少磁盘使用并加快速度。这些中间层默认情况下不显示。
该SIZE
是由图像和所有其父图像所占用的空间累积。这也是docker save
映像时创建的Tar文件的内容所使用的磁盘空间。
如果图像具有多个存储库名称或标签,则将多次列出该图像。该单个图像(通过其匹配可识别IMAGE ID
)SIZE
仅用完列出的一次。
有关此命令的示例用法,请参阅下面的示例部分。
选项
名称,简写 | 默认 | 描述 |
--all , -a |
显示所有图像(默认隐藏中间图像) | |
--digests |
显示摘要 | |
--filter , -f |
根据提供的条件过滤输出 | |
--format |
使用Go模板打印漂亮的图像 | |
--no-trunc |
不要截断输出 | |
--quiet , -q |
仅显示图片ID |
例子
列出最近创建的图像
$ 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:8
REPOSITORY TAG IMAGE ID CREATED SIZE
java 8 308e519aac60 6 days ago 824.5 MB
如果没有匹配项REPOSITORY[:TAG]
,则列表为空。
$ docker images java:0
REPOSITORY TAG IMAGE ID CREATED SIZE
列出完整的图片ID
$ 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
orpull
命令输出包括图像摘要。您可以pull
使用摘要值。您还可以在create
,run
和rmi
命令中按摘要进行引用,以及FROM
在Dockerfile中进行
映像引用。
筛选
过滤标志(-f
或--filter
)的格式为“键=值”。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz"
)
当前支持的过滤器是:
- 悬空(布尔值-正确或错误)
- 标签(
label=<key>
或label=<key>=<value>
) - 前(
<image-name>[:<tag>]
,<image id>
或<image@digest>
) -给定id或引用之前创建的过滤器的图像 - since(
<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
脱离映像ID时,这些映像就会出现
,而将其保留为<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
使用倍数进行过滤reference
将给出匹配A或B的结果:
$ docker images --filter=reference='busy*:uclibc' --filter=reference='busy*:glibc'
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模板的有效占位符:
占位符 | 描述 |
---|---|
.ID |
图片编号 |
.Repository |
图片库 |
.Tag |
图片标签 |
.Digest |
图像摘要 |
.CreatedSince |
自创建图像以来经过的时间 |
.CreatedAt |
创建图像的时间 |
.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 9
746b819f315e postgres 9.3
746b819f315e postgres 9.3.5
746b819f315e postgres latest
上级命令
命令 | 描述 |
---|---|
码头工人 | Docker CLI的基本命令。 |