探索 Docker Desktop 中的构建视图


**构建**视图是一个简单的界面,允许您检查构建历史记录并使用 Docker Desktop 管理构建器。
在 Docker Desktop 中打开**构建**视图会显示已完成构建的列表。默认情况下,列表按日期排序,最近的构建显示在顶部。您可以切换到**活动构建**以查看任何正在进行的构建。


如果您通过Docker Build Cloud连接到云构建器,则构建视图还会列出连接到同一云构建器的其他团队成员的任何活动或已完成的云构建。
显示构建列表
选择 Docker Desktop 仪表板中的**构建**视图以打开构建列表。
构建列表显示您已完成和正在进行的构建。**构建历史记录**选项卡显示已完成的历史构建,您可以从中检查构建日志、依赖项、跟踪等等。**活动构建**选项卡显示当前正在运行的构建。
该列表显示您活动、正在运行的构建器的构建。它不列出非活动构建器的构建:您已从系统中移除的构建器,或已停止的构建器。
构建器设置
右上角显示您当前选择的构建器的名称,而**构建器设置**按钮允许您管理 Docker Desktop 设置中的构建器。
导入构建
Beta 功能
导入构建目前处于Beta阶段。
**导入构建**按钮允许您导入其他人构建的构建记录或 CI 环境中的构建记录。导入构建记录后,您可以直接在 Docker Desktop 中完全访问该构建的日志、跟踪和其他数据。docker/build-push-action
和 docker/bake-action
GitHub Actions 的构建摘要包含一个链接,用于下载构建记录,以便使用 Docker Desktop 检查 CI 作业。
检查构建
要检查构建,请选择要查看的列表中的构建。检查视图包含多个选项卡。
**信息**选项卡显示有关构建的详细信息。
如果您正在检查多平台构建,则此选项卡右上角的下拉菜单允许您将信息过滤到特定平台。


**源详细信息**部分显示有关前端前端的信息,以及(如果可用)用于构建的源代码存储库。
构建时间
**信息**选项卡的**构建时间**部分包含图表,从各个角度显示构建执行的细分。
- **实时**是指完成构建所花费的实际时间。
- **累积时间**显示所有步骤的总 CPU 时间。
- **缓存使用情况**显示构建操作被缓存的程度。
- **并行执行**显示构建执行时间中有多少用于并行运行步骤。


图表颜色和图例键描述不同的构建操作。构建操作定义如下:
构建操作 | 说明 |
---|---|
本地文件传输 | 将本地文件从客户端传输到构建器所花费的时间。 |
文件操作 | 任何涉及在构建中创建和复制文件的操作。例如,Dockerfile 前端中的COPY 、WORKDIR 、ADD 指令都会产生文件操作。 |
镜像拉取 | 拉取镜像所花费的时间。 |
执行 | 容器执行,例如在 Dockerfile 前端中定义为RUN 指令的命令。 |
HTTP | 使用ADD 下载远程构件。 |
Git | 与HTTP相同,但用于 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中查看它。
启动Jaeger UI
$ docker run -d --name jaeger -p "16686:16686" jaegertracing/all-in-one
在Docker Desktop中打开“构建”视图,然后选择已完成的构建。
导航到构建结果部分,打开操作菜单并选择另存为Jaeger格式。
在浏览器中访问http://localhost:16686以打开Jaeger UI。
选择上传选项卡并打开您刚刚导出的Jaeger构建跟踪。
现在您可以使用Jaeger UI分析构建跟踪。


Dockerfile 源代码和错误
在检查成功的已完成构建或正在进行的活动构建时,源选项卡将显示用于创建构建的前端。
如果构建失败,则会显示错误选项卡而不是源选项卡。错误消息内嵌在Dockerfile源代码中,指示故障发生的位置以及原因。


构建日志
日志选项卡显示构建日志。对于活动构建,日志会实时更新。
您可以切换构建日志的列表视图和纯文本视图。
列表视图以可折叠的格式显示所有构建步骤,并带有时间轴以沿着时间轴导航日志。
纯文本视图以纯文本形式显示日志。
复制按钮允许您将日志的纯文本版本复制到剪贴板。
构建历史记录
历史记录选项卡显示已完成构建的统计数据。
时间序列图表显示了相关构建的持续时间、构建步骤和缓存使用情况的趋势,帮助您识别构建操作随时间的变化模式和变化。例如,构建持续时间的显著峰值或大量缓存未命中可能预示着优化Dockerfile的机会。


您可以通过在图表中选择它或使用图表下方的过去构建列表来导航并检查相关的构建。
管理构建器
Docker Desktop 设置中的构建器设置视图允许您:
- 检查活动构建器的状态和配置
- 启动和停止构建器
- 删除构建历史记录
- 添加或删除构建器(或在云构建器的情况下连接和断开连接)


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