探索 Docker Desktop 中的构建视图

Builds view in Docker Desktop

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

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

Build UI screenshot active builds

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

显示构建列表

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

构建列表显示您已完成和正在进行的构建。**构建历史记录**选项卡显示已完成的历史构建,您可以从中检查构建日志、依赖项、跟踪等等。**活动构建**选项卡显示当前正在运行的构建。

该列表显示您活动、正在运行的构建器的构建。它不列出非活动构建器的构建:您已从系统中移除的构建器,或已停止的构建器。

构建器设置

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

导入构建

Beta 功能

导入构建目前处于Beta阶段。

**导入构建**按钮允许您导入其他人构建的构建记录或 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

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