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
--treeAPI 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 imagescommand 采用可选的[REPOSITORY[:TAG]]论点 ,这会将列表限制为与参数匹配的镜像。如果指定REPOSITORY但是没有TAGdocker 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.

如果两者都REPOSITORYTAG,则仅提供与该 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 注册表时,pushpull命令 output 包括 Image Digest。您可以pull使用 Digest 值。您可以 也引用 by digest increate,runrmi命令以及FROMimage 引用。

筛选 (--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 会向您发出警告。

显示带有给定标签的镜像

labelfilter 根据是否存在label单独或label以及 价值。

以下筛选条件将镜像与com.example.versionlabel 的 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.versionlabel 替换为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

按时间筛选镜像

beforefilter 仅显示在具有 给定的 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

按引用筛选镜像

referencefilter 仅显示引用匹配的镜像 指定的模式。

$ 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指令中,也将包含列标题。

以下示例使用不带标头的模板,并输出IDRepository条目之间用冒号 (:) 的所有镜像:

$ 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"}