探索 Docker Desktop 中的“构建”视图

Builds view in Docker Desktop

构建视图是一个简单的界面,让您可以使用 Docker Desktop 检查构建历史记录并管理构建器。

在 Docker Desktop 中打开 构建 视图会显示已完成构建的列表。 默认情况下,列表按日期排序,最近的构建显示在顶部。 您可以切换到 活动构建 以查看任何正在进行的构建。

Build UI screenshot active builds

如果您通过 Docker Build Cloud 连接到云构建器, 构建视图也会列出连接到同一云构建器的其他团队成员的任何活动或已完成的云构建。

显示构建列表

在 Docker Desktop 仪表板中选择 构建 视图以打开构建列表。

构建列表显示您已完成和正在进行的构建。构建历史选项卡显示已完成的历史构建,您可以在此查看构建日志、依赖项、追踪信息等。活跃构建选项卡显示当前正在运行的构建。

该列表显示了处于活动状态且正在运行的建筑器的构建。它不会列出非活动建筑器的构建:即您已从系统中移除的建筑器,或已停止的建筑器。

构建器设置

右上角显示您当前选择的构建器名称,构建器设置按钮允许您在 Docker Desktop 设置中管理构建器

导入构建

测试功能

导入构建目前处于 测试版

导入构建”按钮允许您导入其他人的构建记录,或 CI 环境中的构建。导入构建记录后,您可以直接在 Docker Desktop 中完全访问该构建的日志、跟踪和其他数据。构建摘要针对 docker/build-push-actiondocker/bake-action GitHub Actions 包含下载构建记录的链接,以便使用 Docker Desktop 检查 CI 作业。

检查构建

要检查构建,请在列表中选择您想要查看的构建。 检查视图包含多个选项卡。

信息选项卡显示有关构建的详细信息。

如果您正在检查多平台构建,此标签页右上角的下拉菜单允许您将信息筛选为特定平台:

Platform filter

源详情部分显示了关于前端 前端的信息,如果可用, 还显示了用于构建的源代码仓库。

构建计时

“信息”选项卡的构建时间部分包含显示从各个角度细分构建执行的图表。

  • 实时是指完成构建所消耗的实际时间。
  • 累计时间 显示所有步骤的总 CPU 时间。
  • 缓存使用情况 显示构建操作被缓存的程度。
  • 并行执行 显示了构建执行过程中用于并行运行步骤的时间比例。
Build timing charts

图表颜色和图例键描述了不同的构建操作。构建操作定义如下:

构建操作描述
本地文件传输将本地文件从客户端传输到构建器所花费的时间。
文件操作构建中涉及创建和复制文件的任何操作。例如,Dockerfile 前端中的 COPYWORKDIRADD 指令都会引发文件操作。
镜像拉取花费在拉取镜像上的时间。
执行容器执行,例如在 Dockerfile 前端定义为 RUN 指令的命令。
HTTP使用 ADD 远程下载构件。
GitHTTP 相同,但用于 Git URL。
结果导出导出构建结果所花费的时间。
物料清单(SBOM)生成 SBOM 证明所花费的时间。
空闲构建工作器的空闲时间,如果您配置了 最大并行限制,则可能会发生这种情况。

构建依赖

依赖项部分显示了构建过程中使用的镜像和远程资源。此处列出的资源包括:

  • 构建期间使用的容器镜像
  • 使用 ADD Dockerfile 指令包含的 Git 仓库
  • 使用 ADD Dockerfile 指令包含的远程 HTTPS 资源

参数、机密和其他参数

“信息”选项卡的 配置 部分显示了传递给构建的参数:

  • 构建参数,包括已解析的值
  • 机密信息,包括其 ID(但不包括其值)
  • SSH 套接字
  • 标签
  • 其他上下文

输出与构件

构建结果部分显示了生成的构建产物的摘要, 包括镜像清单详情、证明和构建追踪。

证明是附加到容器镜像的元数据记录。 元数据描述了关于镜像的一些信息, 例如它是如何构建的或包含哪些软件包。 有关证明的更多信息,请参阅 构建证明

构建追踪记录捕获有关 Buildx 和 BuildKit 中构建执行步骤的信息。这些追踪记录提供两种格式:OTLP 和 Jaeger。您可以通过打开 Docker Desktop 中的操作菜单并选择您想要下载的格式,来下载构建追踪记录。

使用 Jaeger 检查构建追踪

使用 Jaeger 客户端,您可以从 Docker Desktop 导入并检查构建追踪。以下步骤展示了如何从 Docker Desktop 导出追踪并在 Jaeger 中查看:

  1. 启动 Jaeger UI:

    $ docker run -d --name jaeger -p "16686:16686" jaegertracing/all-in-one
    
  2. 在 Docker Desktop 中打开构建视图,并选择一个已完成的构建。

  3. 导航至 构建结果 部分,打开操作菜单并选择 下载为 Jaeger 格式

  4. 转到 http://localhost:16686 在浏览器中打开 Jaeger UI。

  5. 选择 上传 标签页,打开您刚刚导出的 Jaeger 构建追踪。

现在您可以使用 Jaeger UI 分析构建日志:

Jaeger UI screenshot
Jaeger UI 中构建追踪的截图

Dockerfile 源码与错误

在检查成功完成的构建或正在进行的活动构建时, 选项卡显示用于创建构建的前端

如果构建失败,则会显示 错误 选项卡,而不是 源代码 选项卡。 错误消息会内联显示在 Dockerfile 源代码中, 指出失败发生的位置及原因。

Build error displayed inline in the Dockerfile

构建日志

日志 选项卡显示构建日志。 对于进行中的构建,日志会实时更新。

您可以在构建日志的列表视图纯文本视图之间切换。

  • 列表视图以可折叠格式展示所有构建步骤, 并提供一个时间轴用于沿时间轴导航日志。

  • 纯文本视图将日志显示为纯文本。

复制按钮允许您将日志的纯文本版本复制到剪贴板。

构建历史

历史 选项卡显示有关已完成构建的统计数据。

时序图展示了相关构建在持续时间、构建步骤和缓存使用方面的趋势, 帮助您识别构建操作随时间变化的模式和转变。 例如,构建持续时间的显著峰值或大量的缓存未命中 可能预示着优化 Dockerfile 的机会。

Build history chart

您可以在图表中选择构建,或使用图表下方的历史构建列表来导航至并检查相关的构建。

管理构建器

Docker Desktop 设置中的 构建器设置 视图允许您:

  • 检查活跃构建器的状态和配置
  • 启动和停止构建器
  • 删除构建历史
  • 添加或删除构建器(对于云构建器,则是连接和断开连接)
Builder settings drop-down

有关管理构建器的更多信息,请参阅 更改设置