探索 Docker Desktop 中的“构建”视图
构建视图提供了一个交互式界面,用于直接在 Docker Desktop 中检查构建历史、监控活动构建和管理构建器。
默认情况下,构建历史选项卡显示已完成构建的列表,按日期(最新在前)排序。切换到活动构建选项卡可查看正在进行的构建。
如果您通过 Docker Build Cloud 连接到云构建器,构建视图还会列出连接到同一云构建器的其他团队成员的任何活动或已完成的云构建。
注意使用
docker build命令构建 Windows 容器镜像时,将使用旧版构建器,该构建器不会填充构建视图。要切换到使用 BuildKit,您可以
- 在构建命令中设置
DOCKER_BUILDKIT=1,例如DOCKER_BUILDKIT=1 docker build .,或者- 使用
docker buildx build命令
显示构建列表
从 Docker Dashboard 打开构建视图以访问
- 构建历史:已完成的构建,可访问日志、依赖项、跟踪等
- 活动构建:当前正在进行的构建
仅列出活动、正在运行的构建器中的构建。已删除或已停止的构建器中的构建不会显示。
构建器设置
右上角显示当前选定构建器的名称,构建器设置按钮允许您在 Docker Desktop 设置中管理构建器。
导入构建
导入构建按钮允许您导入其他人构建的构建记录,或在 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 证明所花费的时间。 |
| 空闲 | 构建工作器空闲时间,如果配置了最大并行度限制,可能会发生这种情况。 |
构建依赖项
依赖项部分显示构建期间使用的镜像和远程资源。此处列出的资源包括
- 构建期间使用的容器镜像
- 使用
ADDDockerfile 指令包含的 Git 仓库 - 使用
ADDDockerfile 指令包含的远程 HTTPS 资源
参数、秘密和其他参数
信息选项卡的配置部分显示传递给构建的参数
- 构建参数,包括解析后的值
- 密钥,包括它们的 ID(但不包括它们的值)
- SSH 套接字
- Labels
- 额外上下文
输出和工件
构建结果部分显示生成的构建工件摘要,包括镜像清单详细信息、证明和构建跟踪。
证明是附加到容器镜像的元数据记录。元数据描述了关于镜像的一些信息,例如它是如何构建的或它包含哪些包。有关证明的更多信息,请参阅构建证明。
构建跟踪捕获 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 格式。
在浏览器中转到 https://:16686 以打开 Jaeger UI。
选择上传选项卡,然后打开刚刚导出的 Jaeger 构建跟踪。
现在您可以使用 Jaeger UI 分析构建跟踪


Dockerfile 源代码和错误
当检查成功完成的构建或正在进行的活动构建时,源选项卡显示用于创建构建的前端。
如果构建失败,将显示错误选项卡而不是源选项卡。错误消息内联在 Dockerfile 源中,指示失败发生的位置和原因。
构建日志
日志选项卡显示构建日志。对于活动构建,日志会实时更新。
您可以在构建日志的列表视图和纯文本视图之间切换。
列表视图以可折叠格式显示所有构建步骤,并带有沿时间轴导航日志的时间线。
纯文本视图将日志显示为纯文本。
复制按钮允许您将日志的纯文本版本复制到剪贴板。
构建历史
历史选项卡显示已完成构建的统计数据。
时间序列图表说明了相关构建的持续时间、构建步骤和缓存使用趋势,帮助您识别构建操作随时间变化的模式和变化。例如,构建持续时间的显著峰值或大量缓存未命中可能预示着优化 Dockerfile 的机会。
您可以通过在图表中选择相关构建或使用图表下方的过去构建列表来导航和检查相关构建。
管理构建器
设置中的构建器选项卡允许您
- 检查活动构建器的状态和配置
- 启动和停止构建器
- 删除构建历史
- 添加或删除构建器(或在云构建器的情况下连接和断开连接)
有关管理构建器的更多信息,请参阅更改设置