內嵌快取
目錄
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。