Docker 镜像 ls
描述 | 列出图片 |
---|---|
用法 | docker image ls [OPTIONS] [REPOSITORY[:TAG]] |
别名 | docker image list
docker images |
描述
默认的docker images
将显示所有顶级
镜像、它们的存储库和标签以及它们的大小。
Docker 镜像具有提高可重用性的中间层,
减少磁盘使用量并加快速度docker build
由
允许缓存每个步骤。这些中间层不会显示
默认情况下。
这SIZE
是镜像占用的累积空间,所有
其父镜像。这也是
Tar 文件docker save
镜像。
如果镜像具有多个存储库名称,则镜像将列出多次
或标签。此单个镜像(可通过其匹配项进行识别IMAGE ID
)
用完了SIZE
仅列出一次。
选项
选择 | 违约 | 描述 |
---|---|---|
-a, --all | 显示所有镜像(默认隐藏中间镜像) | |
--digests | 显示摘要 | |
-f, --filter | 根据提供的条件筛选输出 | |
--format | 使用自定义模板格式化输出: 'table':以带有列标题的表格格式打印输出(默认) 'table TEMPLATE':使用给定的 Go 模板 以表格格式打印输出'json':以 JSON 格式 打印'TEMPLATE':使用给定的 Go 模板打印输出。 有关使用模板设置输出格式的更多信息,请参阅 https://docs.docker.com/go/formatting/ | |
--no-trunc | 不截断输出 | |
-q, --quiet | 仅显示镜像 ID | |
--tree | API 1.47+ 实验性 (CLI)将多平台镜像列为树(实验性) |
例子
列出最近创建的镜像
$ 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
command 采用可选的[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]]
value 必须完全匹配。这意味着,例如,docker images jav
与镜像不匹配java
.
如果两者都REPOSITORY
和TAG
,则仅提供与该
repository 和 tag 列出。要在java
带有标签的仓库8
您可以使用:
$ 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 (--no-trunc)
$ 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
列出镜像摘要 (--digests)
使用 v2 或更高版本格式的镜像具有内容可寻址标识符
称为digest
.只要用于生成镜像的输入是
unchanged,则 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
命令
output 包括 Image Digest。您可以pull
使用 Digest 值。您可以
也引用 by digest increate
,run
和rmi
命令以及FROM
image 引用。
筛选 (--filter)
筛选标志 (-f
或--filter
) 格式为 “key=value”。如果还有更多
than 一个 filter,然后传递多个标志(例如--filter "foo=bar" --filter "bif=baz"
).
当前支持的筛选器包括:
- dangling (布尔值 - true 或 false)
- 标签 (
label=<key>
或label=<key>=<value>
) - 之前 (
<image-name>[:<tag>]
,<image id>
或<image@digest>
) - 过滤在给定 ID 或引用之前创建的镜像 - 由于 (
<image-name>[:<tag>]
,<image id>
或<image@digest>
) - 过滤自给定 ID 或引用以来创建的镜像 - reference (image reference of an image reference) - 过滤其引用与指定模式匹配的镜像
显示未标记的镜像(悬空)
$ 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>
或 untagged。
如果尝试在容器当前存在时删除镜像,将发出警告
使用它。通过拥有此标志,它允许批量清理。
您可以将其与docker rmi
:
$ docker rmi $(docker images -f "dangling=true" -q)
8abc22fbb042
48e5f45168b9
bf747efa0e2f
980fe10e5736
dea752e4e117
511136ea3c5a
如果存在任何使用这些未标记镜像的容器,Docker 会向您发出警告。
显示带有给定标签的镜像
这label
filter 根据是否存在label
单独或label
以及
价值。
以下筛选条件将镜像与com.example.version
label 的 intent 值。
$ 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
label 替换为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
filter 仅显示在具有
给定的 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
filter 仅显示引用匹配的镜像
指定的模式。
$ 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)
格式化选项 (--format
) 将美化打印容器输出
使用 Go 模板。
下面列出了 Go 模板的有效占位符:
占 位 符 | 描述 |
---|---|
.ID | 镜像 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
要以 JSON 格式列出所有镜像,请使用json
命令:
$ docker images --format json
{"Containers":"N/A","CreatedAt":"2021-03-04 03:24:42 +0100 CET","CreatedSince":"5 days ago","Digest":"\u003cnone\u003e","ID":"4dd97cefde62","Repository":"ubuntu","SharedSize":"N/A","Size":"72.9MB","Tag":"latest","UniqueSize":"N/A","VirtualSize":"72.9MB"}
{"Containers":"N/A","CreatedAt":"2021-02-17 22:19:54 +0100 CET","CreatedSince":"2 weeks ago","Digest":"\u003cnone\u003e","ID":"28f6e2705743","Repository":"alpine","SharedSize":"N/A","Size":"5.61MB","Tag":"latest","UniqueSize":"N/A","VirtualSize":"5.613MB"}