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, --human | true | 以人类可读的格式打印大小和日期 |
--no-trunc | 不截断输出 | |
--platform | API 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
镜像的 ID
和 CreatedSince
条目,它们之间用冒号 (:
) 分隔
$ docker history --format "{{.ID}}: {{.CreatedSince}}" busybox
f6e427c148a7: 4 weeks ago
<missing>: 4 weeks ago
显示特定平台的历史 (--platform)
如果存在多个平台,--platform
选项允许你指定要显示哪个平台变体的历史。默认情况下,docker history
显示守护进程原生平台的历史,如果不存在,则显示第一个可用平台的历史。
如果本地镜像存储中存在镜像的多个平台变体,--platform
选项会选择要显示哪个变体的历史。如果给定的平台不存在于本地镜像缓存中,则会产生错误。
平台选项接受 os[/arch[/variant]]
格式;例如,linux/amd64
或 linux/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