探索 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 設定中管理構建器

匯入構建

可用性: 測試版
需要: Docker Desktop 4.31 及更高版本

匯入構建按鈕允許您匯入其他人構建的構建記錄,或在 CI 環境中構建的記錄。匯入構建記錄後,您可以直接在 Docker Desktop 中完全訪問該構建的日誌、跟蹤和其他資料。

docker/build-push-actiondocker/bake-action GitHub Actions 的構建摘要包含下載構建記錄的連結,用於使用 Docker Desktop 檢查 CI 作業。

檢查構建

要檢查構建,請在列表中選擇要檢視的構建。檢查檢視包含多個選項卡。

資訊選項卡顯示有關構建的詳細資訊。

如果您正在檢查多平臺構建,此選項卡右上角的下拉選單允許您將資訊篩選到特定平臺。

源詳細資訊部分顯示有關前端前端以及(如果可用)用於構建的原始碼倉庫的資訊。

構建時間

資訊選項卡的構建時間部分包含顯示構建執行從各個角度細分的圖表。

  • 即時是指完成構建所花費的實際時間。
  • 累計時間顯示所有步驟的總 CPU 時間。
  • 快取使用情況顯示構建操作的快取程度。
  • 並行執行顯示構建執行時間中有多少時間用於並行執行步驟。

圖表顏色和圖例鍵描述了不同的構建操作。構建操作定義如下:

構建操作描述
本地檔案傳輸從客戶端傳輸本地檔案到構建器所花費的時間。
檔案操作構建中涉及建立和複製檔案的任何操作。例如,Dockerfile 前端中的 COPYWORKDIRADD 指令都會產生檔案操作。
映象拉取拉取映象所花費的時間。
執行容器執行,例如 Dockerfile 前端中定義為 RUN 指令的命令。
HTTP使用 ADD 下載遠端工件。
GitHTTP相同,但用於 Git URL。
結果匯出匯出構建結果所花費的時間。
SBOM生成SBOM 證明所花費的時間。
空閒構建工作器空閒時間,如果配置了最大並行度限制,可能會發生這種情況。

構建依賴項

依賴項部分顯示構建期間使用的映象和遠端資源。此處列出的資源包括

  • 構建期間使用的容器映象
  • 使用 ADD Dockerfile 指令包含的 Git 倉庫
  • 使用 ADD Dockerfile 指令包含的遠端 HTTPS 資源

引數、秘密和其他引數

資訊選項卡的配置部分顯示傳遞給構建的引數

  • 構建引數,包括解析後的值
  • 金鑰,包括它們的 ID(但不包括它們的值)
  • SSH 套接字
  • Labels
  • 額外上下文

輸出和工件

構建結果部分顯示生成的構建工件摘要,包括映象清單詳細資訊、證明和構建跟蹤。

證明是附加到容器映象的元資料記錄。元資料描述了關於映象的一些資訊,例如它是如何構建的或它包含哪些包。有關證明的更多資訊,請參閱構建證明

構建跟蹤捕獲 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. 在瀏覽器中轉到 https://:16686 以開啟 Jaeger UI。

  5. 選擇上傳選項卡,然後開啟剛剛匯出的 Jaeger 構建跟蹤。

現在您可以使用 Jaeger UI 分析構建跟蹤

Jaeger UI screenshot
Jaeger UI 中的構建跟蹤截圖

Dockerfile 原始碼和錯誤

當檢查成功完成的構建或正在進行的活動構建時,選項卡顯示用於建立構建的前端

如果構建失敗,將顯示錯誤選項卡而不是選項卡。錯誤訊息內聯在 Dockerfile 源中,指示失敗發生的位置和原因。

構建日誌

日誌選項卡顯示構建日誌。對於活動構建,日誌會即時更新。

您可以在構建日誌的列表檢視純文字檢視之間切換。

  • 列表檢視以可摺疊格式顯示所有構建步驟,並帶有沿時間軸導航日誌的時間線。

  • 純文字檢視將日誌顯示為純文字。

複製按鈕允許您將日誌的純文字版本複製到剪貼簿。

構建歷史

歷史選項卡顯示已完成構建的統計資料。

時間序列圖表說明了相關構建的持續時間、構建步驟和快取使用趨勢,幫助您識別構建操作隨時間變化的模式和變化。例如,構建持續時間的顯著峰值或大量快取未命中可能預示著最佳化 Dockerfile 的機會。

您可以透過在圖表中選擇相關構建或使用圖表下方的過去構建列表來導航和檢查相關構建。

管理構建器

設定中的構建器選項卡允許您

  • 檢查活動構建器的狀態和配置
  • 啟動和停止構建器
  • 刪除構建歷史
  • 新增或刪除構建器(或在雲構建器的情況下連線和斷開連線)

有關管理構建器的更多資訊,請參閱更改設定