本機快取

local 快取存放區是一個簡單的快取選項,它使用 OCI 映像檔佈局概要

下表描述您可以傳遞至 --cache-to--cache-from 的可用 CSV 參數。

名稱選項類型預設值說明
srccache-from字串匯入快取的本機目錄路徑。
digestcache-from字串要匯入的資訊清單的摘要,請參閱 快取版本控制
destcache-to字串匯出快取的本機目錄路徑。
modecache-tominmaxmin要匯出的快取層,請參閱 快取模式
oci-mediatypescache-totruefalsetrue在匯出的資訊清單中使用 OCI 媒體類型,請參閱 OCI 媒體類型
image-manifestcache-totruefalsefalse使用 OCI 媒體類型時,為快取映像檔產生映像檔資訊清單,而不是映像檔索引,請參閱 OCI 媒體類型
compressioncache-togzipestargzzstdgzip壓縮類型,請參閱 快取壓縮
compression-levelcache-to0..22壓縮等級,請參閱 快取壓縮
force-compressioncache-totruefalsefalse強制套用壓縮,請參閱 快取壓縮
ignore-errorcache-to布林值false忽略快取匯出失敗所造成的錯誤。

如果 src 快取不存在,則快取匯入步驟將會失敗,但建置會繼續進行。

快取版本控制

本節說明版本控制如何在本機檔案系統上的快取中運作,以及如何使用 digest 參數來使用舊版本的快取。

如果您手動檢查快取目錄,您可以看到產生的 OCI 映像檔佈局

$ ls cache
blobs  index.json  ingest
$ cat cache/index.json | jq
{
  "schemaVersion": 2,
  "manifests": [
    {
      "mediaType": "application/vnd.oci.image.index.v1+json",
      "digest": "sha256:6982c70595cb91769f61cd1e064cf5f41d5357387bab6b18c0164c5f98c1f707",
      "size": 1560,
      "annotations": {
        "org.opencontainers.image.ref.name": "latest"
      }
    }
  ]
}

與其他快取類型一樣,本機快取在匯出時會被取代,方法是取代 index.json 檔案的內容。但是,先前的快取仍可在 blobs 目錄中使用。這些舊的快取可透過摘要定址,並無限期保留。因此,本機快取的大小將會持續增長(請參閱 moby/buildkit#1896

進一步閱讀

如需快取的簡介,請參閱 Docker 建置快取

如需 local 快取後端的更多資訊,請參閱 BuildKit README

編輯此頁面

要求變更