使用 Docker Build Cloud 構建
要使用 Docker Build Cloud 進行構建,請呼叫構建命令並使用 `--builder` 標誌指定構建器的名稱。
$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> --tag <IMAGE> .
預設使用
如果您希望無需每次都指定 `--builder` 標誌即可使用 Docker Build Cloud,可以將其設定為預設構建器。
執行以下命令
$ 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 配合專用登錄檔或內部網路上的登錄檔映象。