商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 如何使用 docker image history 命令检查镜像层级

如何使用 docker image history 命令检查镜像层级

  发布于2026-08-19 阅读(0)

扫一扫,手机访问

介绍

在本实验中,你将学习如何使用 CODE_0 命令来检查 Docker 镜像的分层结构。理解镜像层及其创建命令对于调试和优化 Docker 镜像至关重要。

你将首先查看镜像的基本历史记录,然后探索禁用输出截断的选项以获得完整的命令可见性,并使用简洁输出模式获取简明视图。此外,你还将学习如何使用 Go 模板格式化历史记录输出以实现自定义报告,以及如何显示为特定平台构建的镜像的历史记录。

查看 Docker 镜像的历史记录

在这一步中,你将学习如何查看 Docker 镜像的历史记录。镜像历史记录会显示构成镜像的各个分层以及用于创建每个分层的命令。这对于理解镜像的构建过程和调试问题非常有用。

首先,让我们拉取一个可以检查的 Docker 镜像。在这个示例中,我们将使用 CODE_0 镜像。

docker pull ubuntu

你应该会看到镜像正在被拉取的输出信息。拉取完成后,你可以使用 CODE_0 命令后跟镜像名称或 ID 来查看镜像的历史记录。

docker history ubuntu

CODE_0 命令的输出会显示一个包含多列信息的表格:

  • CODE_0:镜像分层的 ID
  • CODE_0:分层创建的时间
  • CODE_0:用于创建该分层的命令
  • CODE_0:分层的大小
  • CODE_0:与该分层关联的注释

通过这个历史记录,你可以追溯构建 CODE_0 镜像的步骤,查看每个执行的命令及其生成的分层。

查看完整历史记录(禁用截断输出)

在上一步中,你查看了 CODE0 镜像的历史记录。你可能注意到部分输出内容(特别是 CODE1 列中的命令)被截断了。这是 CODE_2 命令的默认行为,目的是保持输出简洁。

要查看完整的未截断输出,可以在 CODE0 命令中使用 CODE1 标志。

让我们用 CODE_0 镜像来尝试这个操作:

docker history --no-trunc ubuntu

现在,你应该能看到用于构建 CODE_0 镜像每个分层的完整命令。这对于需要查看分层构建的精确细节特别有帮助,尤其是那些包含长构建命令的复杂镜像。

将本命令的输出与上一步的输出进行对比,观察 CODE_0 列中的差异。

查看简洁历史记录输出

在前面的步骤中,你看到了 CODE_0 镜像的详细历史记录,包括构建每个分层所使用的命令。有时,你可能只对分层的镜像 ID 感兴趣,而不需要其他信息。

要查看仅显示镜像 ID 的简洁输出,可以在 CODE0 命令中使用 CODE1CODE_2 标志。

让我们以简洁模式查看 CODE_0 镜像的历史记录:

docker history -q ubuntu

现在输出将仅显示各分层的镜像 ID,每行一个。当你需要快速获取分层 ID 列表用于脚本编写或其他用途时,这个功能会很有帮助。

将此输出与之前的输出进行对比,观察 CODE_0 标志如何简化显示的信息。

使用 Go 模板格式化历史记录输出

除了默认和简洁输出格式外,CODE_0 还允许你使用 Go 模板来格式化输出。这让你能够精细控制显示哪些信息以及如何呈现这些信息。

CODE0 标志用于指定 Go 模板。你可以通过模板语法访问镜像历史记录的各种字段。一些常用字段包括 CODE1CODE2CODE3CODE4CODE5

让我们尝试格式化输出,仅显示镜像 ID 和创建分层所用的命令,并用制表符分隔:

docker history --format "{{.ID}}t{{.CreatedBy}}" ubuntu

在这个模板中:

  • CODE_0 表示分层的镜像 ID
  • CODE_0 是用于分隔的制表符
  • CODE_0 表示创建分层所用的命令

你可以尝试不同的字段和格式来获得所需输出。例如,要包含大小信息:

docker history --format "{{.ID}}t{{.Size}}t{{.CreatedBy}}" ubuntu

使用 Go 模板为脚本编写或报告目的提供了从镜像历史记录中提取特定信息的强大方式。

查看特定平台的历史记录

Docker 镜像可以针对不同的架构和操作系统构建。当一个镜像支持多平台时,你可能需要查看特定平台的历史记录。

CODE0 命令允许你使用 CODE1 标志指定目标平台。平台格式通常为 CODE2,例如 CODE3CODE_4

让我们查看 CODE0 镜像在 CODE1 平台上的历史记录:

docker history --platform linux/amd64 ubuntu

该命令将显示针对 CODE0 架构构建的 CODE1 镜像历史记录。如果镜像不支持指定平台,你可能会看到错误信息或不同的历史记录,具体取决于镜像的构建方式。

当处理多架构镜像并需要检查特定目标环境的构建过程时,这个功能特别有用。

总结

此次实验,你学会了运用CODE0命令来检查Docker镜像的各个层级。首先,你拉取了CODE1镜像,接着查看它的历史记录,其中呈现了每个层级的信息,像镜像ID、创建时间、创建时使用的命令以及大小。这为你呈现出镜像构建过程的清晰画面。

之后,你对修改 CODE0 输出的各类选项展开了探索。你掌握了运用 CODE1 标志来禁用输出截断,如此一来,便能查看构建每个层级时所运用的完整命令。这对于精准理解镜像创建的具体步骤意义重大。本实验还涉及到运用 CODE2 标志以简洁模式查看历史记录(仅展示镜像ID)、运用Go模板格式化输出以获取自定义视图,以及运用 CODE3 标志查看特定平台的历史记录。

本文转载于:https://labex.io/zh/tutorials/docker-how-to-use-docker-image-history-command-to-inspect-image-layers-555153 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注