內嵌快取

inline(內嵌)快取儲存後端是獲取外部快取最簡單的方法,如果您已經在建置並推送映像檔,那麼入門非常容易。

內嵌快取的缺點在於,它在多階段建置 (multi-stage builds) 中的擴展性不如其他驅動程式。它也不提供輸出成品與快取輸出之間的隔離。這意味著如果您使用特別複雜的建置流程,或者沒有將映像檔直接匯出到登錄檔 (registry),那麼您可能需要考慮使用 registry 快取。

概要

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline \
  --cache-from type=registry,ref=<registry>/<image> .

inline 快取不支援任何額外參數。

若要使用 inline 儲存體匯出快取,請將 type=inline 傳遞給 --cache-to 選項。

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline .

或者,您也可以透過設定建置引數 BUILDKIT_INLINE_CACHE=1 來匯出內嵌快取,而無需使用 --cache-to 旗標。

$ docker buildx build --push -t <registry>/<image> \
  --build-arg BUILDKIT_INLINE_CACHE=1 .

若要在未來的建置中匯入產生的快取,請將 type=registry 傳遞給 --cache-from,這可讓您從指定登錄檔中的 Docker 映像檔內部提取快取。

$ docker buildx build --push -t <registry>/<image> \
  --cache-from type=registry,ref=<registry>/<image> .

延伸閱讀

有關快取的介紹,請參閱 Docker 組建快取

有關 inline 快取後端的更多資訊,請參閱 BuildKit README

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