使用 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
開啟 Docker Desktop 設定並瀏覽至 **建置器** 標籤。
在 **可用建置器** 下方尋找雲端建置器。
開啟下拉式選單並選擇 **使用**。
使用 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 建置檢視可立即與 Docker Build Cloud 搭配使用。此檢視不僅可以顯示您自己的建置資訊,還可以顯示您的團隊成員使用相同建置器啟動的建置資訊。
使用共用建置器的團隊可以存取下列資訊:
- 正在進行和已完成的建置
- 建置組態、統計資料、相依性和結果
- 建置來源 (Dockerfile)
- 建置記錄和錯誤
這可讓您和您的團隊在疑難排解和改善建置速度方面進行協作,而無需在彼此之間來回傳送建置記錄和基準測試。
搭配 Docker Build Cloud 使用密鑰
若要搭配 Docker Build Cloud 使用建置密鑰(例如驗證憑證或權杖),請使用 docker buildx
命令的 --secret
和 --ssh
CLI 旗標。流量已加密,且密鑰永遠不會儲存在建置快取中。
**警告**
如果您誤用建置引數來傳遞憑證、驗證權杖或其他機密資訊,您應該重構您的建置,改用機密掛載來傳遞機密資訊。建置引數會儲存在快取中,其值會透過證明公開。機密掛載不會洩漏到建置之外,也永遠不會包含在證明中。
更多資訊,請參考
管理建置快取
您不需要手動管理 Docker Build Cloud 快取。系統會透過垃圾回收機制為您管理。
如果您達到儲存空間限制,舊的快取會自動移除。您可以使用docker buildx du
指令檢查目前的快取狀態。
若要手動清除建置器的快取,請使用docker buildx prune
指令。這與清除任何其他建置器的快取的方式相同。
**警告**
清除雲端建置器的快取也會移除使用相同建置器的其他團隊成員的快取。
取消設定 Docker Build Cloud 作為預設建置器
如果您已將雲端建置器設定為預設建置器,並且想要還原為預設的 docker
建置器,請執行以下指令
$ docker context use default
這不會從您的系統中移除建置器。它只會更改自動選取以執行建置的建置器。
內部網路上的儲存庫
Docker Build Cloud 無法與 VPN 後面內部網路上的私有倉庫或倉庫鏡像一起使用。雲端建置器互動的所有端點,包括 OCI 倉庫,都必須可透過網際網路存取。
有興趣試用實驗性功能嗎?
我們目前正在測試一項實驗性功能,允許雲端建置器存取內部資源。
如果您有興趣試用此功能,請使用支援表單與我們聯繫。