docker image history

描述显示镜像的历史
用法docker image history [选项] 镜像
别名
docker history

描述

显示镜像的历史

选项

选项默认值描述
--format使用自定义模板格式化输出
'table': 以表格格式输出,包含列标题(默认)
'table TEMPLATE': 使用给定的 Go 模板以表格格式输出
'json': 以 JSON 格式输出
'TEMPLATE': 使用给定的 Go 模板输出。
有关使用模板格式化输出的更多信息,请参阅 https://docs.docker.net.cn/go/formatting/
-H, --humantrue以人类可读的格式打印大小和日期
--no-trunc不截断输出
--platformAPI 1.48+ 显示给定平台的历史。格式为 os[/arch[/variant]](例如,linux/amd64
-q, --quiet仅显示镜像 ID

示例

查看 docker:latest 镜像是如何构建的

$ docker history docker

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
3e23a5875458        8 days ago          /bin/sh -c #(nop) ENV LC_ALL=C.UTF-8            0 B
8578938dd170        8 days ago          /bin/sh -c dpkg-reconfigure locales &&    loc   1.245 MB
be51b77efb42        8 days ago          /bin/sh -c apt-get update && apt-get install    338.3 MB
4b137612be55        6 weeks ago         /bin/sh -c #(nop) ADD jessie.tar.xz in /        121 MB
750d58736b4b        6 weeks ago         /bin/sh -c #(nop) MAINTAINER Tianon Gravi <ad   0 B
511136ea3c5a        9 months ago                                                        0 B                 Imported from -

查看 docker:apache 镜像如何添加到容器的基础镜像中

$ docker history docker:scm
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
2ac9d1098bf1        3 months ago        /bin/bash                                       241.4 MB            Added Apache to Fedora base image
88b42ffd1f7c        5 months ago        /bin/sh -c #(nop) ADD file:1fd8d7f9f6557cafc7   373.7 MB
c69cab00d6ef        5 months ago        /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar   0 B
511136ea3c5a        19 months ago                                                       0 B                 Imported from -

格式化输出 (--format)

格式化选项 (--format) 将使用 Go 模板美化打印历史输出。

下面列出了 Go 模板的有效占位符

占位符描述
.ID镜像 ID
.CreatedSince如果 --human=true,则显示镜像创建以来的已用时间,否则显示镜像创建的时间戳
.CreatedAt镜像创建的时间戳
.CreatedBy用于创建镜像的命令
.Size镜像磁盘大小
.Comment镜像注释

使用 --format 选项时,history 命令会严格按照模板声明的方式输出数据,或者在使用 table 指令时,也会包含列标题。

以下示例使用不带标题的模板,并输出 busybox 镜像的 IDCreatedSince 条目,它们之间用冒号 (:) 分隔

$ docker history --format "{{.ID}}: {{.CreatedSince}}" busybox

f6e427c148a7: 4 weeks ago
<missing>: 4 weeks ago

显示特定平台的历史 (--platform)

如果存在多个平台,--platform 选项允许你指定要显示哪个平台变体的历史。默认情况下,docker history 显示守护进程原生平台的历史,如果不存在,则显示第一个可用平台的历史。

如果本地镜像存储中存在镜像的多个平台变体,--platform 选项会选择要显示哪个变体的历史。如果给定的平台不存在于本地镜像缓存中,则会产生错误。

平台选项接受 os[/arch[/variant]] 格式;例如,linux/amd64linux/arm64/v8。架构和变体是可选的,如果省略,则回退到守护进程的默认设置。

以下示例拉取 alpine:latest 镜像的 RISC-V 变体并显示其历史。

$ docker image pull --quiet --platform=linux/riscv64 alpine
docker.io/library/alpine:latest

$ docker image history --platform=linux/s390x alpine
IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
beefdbd8a1da   3 weeks ago   /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
<missing>      3 weeks ago   /bin/sh -c #(nop) ADD file:ba2637314e600db5a…   8.46MB

以下示例尝试显示本地镜像存储中不存在的 alpine:latest 平台变体的历史,结果出现错误。

$ docker image ls --tree
IMAGE                   ID             DISK USAGE   CONTENT SIZE   IN USE
alpine:latest           beefdbd8a1da       10.6MB         3.37MB
├─ linux/riscv64        80cde017a105       10.6MB         3.37MB
├─ linux/amd64          33735bd63cf8           0B             0B
├─ linux/arm/v6         50f635c8b04d           0B             0B
├─ linux/arm/v7         f2f82d424957           0B             0B
├─ linux/arm64/v8       9cee2b382fe2           0B             0B
├─ linux/386            b3e87f642f5c           0B             0B
├─ linux/ppc64le        c7a6800e3dc5           0B             0B
└─ linux/s390x          2b5b26e09ca2           0B             0B

$ docker image history --platform=linux/s390x alpine
Error response from daemon: image with reference alpine:latest was found but does not match the specified platform: wanted linux/s390x