使用 Docker Build Cloud 進行建置

若要使用 Docker Build Cloud 進行建置,請執行建置指令,並使用 --builder 旗標指定建置器的名稱。

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> --tag <IMAGE> .

設為預設值

如果您想使用 Docker Build Cloud 而無需每次都指定 --builder 旗標,可以將其設定為預設建置器。

執行以下指令

$ docker buildx use cloud-<ORG>-<BUILDER_NAME> --global
  1. 開啟 Docker Desktop 設定並導覽至 Builders 分頁。

  2. Available builders(可用建置器)下找到雲端建置器。

  3. 開啟下拉式選單並選擇 Use

    Selecting the cloud builder as default using the Docker Desktop GUI

使用 docker buildx use 變更預設建置器,只會變更 docker buildx build 指令的預設建置器。docker build 指令仍會使用 default 建置器,除非您明確指定 --builder 旗標。

如果您使用 make 等建置指令碼,建議將建置指令從 docker build 更新為 docker buildx build,以避免建置器選擇混淆。或者,您可以執行 docker buildx install,讓預設的 docker build 指令行為與 docker buildx build 一致,而不會產生差異。

與 Docker Compose 一起使用

若要使用 docker compose build 並透過 Docker Build Cloud 進行建置,請先將雲端建置器設為您選擇的建置器,然後執行建置。

注意

請確保您使用的是支援的 Docker Compose 版本,請參閱 先決條件

$ docker buildx use cloud-<ORG>-<BUILDER_NAME>
$ docker compose build

除了 docker buildx use,您也可以使用 docker compose build --builder 旗標或 BUILDX_BUILDER 環境變數來選擇雲端建置器。

載入建置結果

使用 --tag 進行建置時,建置完成後會自動將建置結果載入至本機映像檔存放區。若要在不加上標籤的情況下建置並載入結果,您必須傳遞 --load 旗標。

不支援載入多平台映像檔的建置結果。建置多平台映像檔時,請使用 docker buildx build --push 旗標將輸出推送至登錄庫。

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
  --platform linux/amd64,linux/arm64 \
  --tag <IMAGE> \
  --push .

如果您想使用標籤進行建置,但不想將結果載入到本機映像檔存放區,則可以僅將建置結果匯出至建置快取。

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
  --platform linux/amd64,linux/arm64 \
  --tag <IMAGE> \
  --output type=cacheonly .

多平台建置

若要執行多平台建置,您必須使用 --platform 旗標指定所有您想要建置的平台。

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
  --platform linux/amd64,linux/arm64 \
  --tag <IMAGE> \
  --push .

如果您未指定平台,雲端建置器會自動針對符合您本機環境的架構進行建置。

若要深入了解針對多平台進行建置的資訊,請參閱 多平台建置

Docker Desktop 中的雲端建置

Docker Desktop 的 Builds 檢視 開箱即支援 Docker Build Cloud。此檢視不僅能顯示您自己的建置資訊,還能顯示團隊成員使用相同建置器所執行的建置資訊。

使用共享建置器的團隊可以存取以下資訊:

  • 進行中和已完成的建置
  • 建置組態、統計資料、依賴項和結果
  • 建置來源 (Dockerfile)
  • 建置記錄與錯誤

這讓您與您的團隊能針對疑難排解和提升建置速度進行協作,而無需在彼此之間來回傳送建置記錄和基準測試數據。

在 Docker Build Cloud 中使用機密資訊

若要在 Docker Build Cloud 中使用建置機密(例如驗證憑證或權杖),請針對 docker buildx 指令使用 --secret--ssh CLI 旗標。流量會進行加密,且機密永遠不會儲存在建置快取中。

警告

如果您誤用建置引數來傳遞憑證、驗證權杖或其他機密,您應該重構建置流程,改用 secret mounts 來傳遞機密。建置引數會儲存在快取中,其值會透過證明 (attestations) 暴露。Secret mounts 不會洩漏到建置外部,也絕不會包含在證明中。

如需更多資訊,請參閱:

管理建置快取

您不需要手動管理 Docker Build Cloud 快取。系統會透過垃圾回收 (garbage collection) 為您管理。

如果您達到儲存限制,舊的快取會自動移除。您可以使用 docker buildx du 指令檢查目前的快取狀態。

若要手動清除建置器的快取,請使用 docker buildx prune 指令。這與清理任何其他建置器的快取方式相同。

警告

清理雲端建置器的快取也會移除其他使用相同建置器的團隊成員的快取。

取消 Docker Build Cloud 作為預設建置器

如果您已將雲端建置器設為預設建置器,並想要恢復為預設的 docker 建置器,請執行下列指令:

$ docker context use default

這不會從您的系統中移除該建置器。它只會變更自動選擇來執行您建置任務的建置器。

內部網路上的登錄庫 (Registries)

您可以在內部網路上使用 Docker Build Cloud 搭配私有登錄庫或登錄庫鏡像。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.