containerd 映象儲存
Docker Desktop 正在過渡到使用 containerd 進行映象和檔案系統管理。本頁概述了 containerd 映象儲存的優勢、設定過程以及新功能。
注意Docker Desktop 為經典映象儲存和 containerd 映象儲存維護獨立的儲存。當在這兩者之間切換時,非活動儲存中的映象和容器會保留在磁碟上,但在切換回來之前是隱藏的。
什麼是 containerd
?
containerd
是一個容器執行時,它為容器生命週期管理提供了一個輕量級、一致的介面。Docker Engine 已經在底層使用它來建立、啟動和停止容器。
Docker Desktop 正在進行的 containerd 整合現在擴充套件到映象儲存,提供更大的靈活性和現代映象支援。
什麼是 containerd
映象儲存?
映象儲存是負責在檔案系統上推送、拉取和儲存映象的元件。
經典的 Docker 映象儲存支援的映象型別有限。例如,它不支援包含清單列表的映象索引。當你建立多平臺映象時,例如,映象索引會解析映象所有特定於平臺的變體。在構建帶有證明的映象時也需要映象索引。
containerd 映象儲存擴充套件了 Docker Engine 可以原生互動的映象類型範圍。雖然這是一個低級別的架構更改,但它是解鎖一系列新用例的先決條件,包括:
- 構建多平臺映象和帶有證明的映象
- 支援使用具有獨特特性的 containerd 快照器,例如用於在容器啟動時延遲拉取映象的 stargz,或用於點對點映象分發的 nydus 和 dragonfly。
- 執行 Wasm 容器的能力
啟用 containerd 映象儲存
containerd 映象儲存在 Docker Desktop 4.34 版及更高版本中預設啟用,但僅限於全新安裝或執行恢復出廠設定的情況。如果你從早期版本的 Docker Desktop 升級,或者使用舊版本的 Docker Desktop,則必須手動切換到 containerd 映象儲存。
要在 Docker Desktop 中手動啟用此功能:
- 導航到 Docker Desktop 中的 Settings(設定)。
- 在 General(通用)選項卡中,勾選 Use containerd for pulling and storing images(使用 containerd 拉取和儲存映象)。
- 選擇**應用**。
要停用 containerd 映象儲存,請取消勾選 Use containerd for pulling and storing images(使用 containerd 拉取和儲存映象)複選框。
構建多平臺映象
多平臺映象一詞是指用於多種不同架構的映象捆綁包。預設情況下,Docker Desktop 的預設構建器不支援構建多平臺映象。
$ docker build --platform=linux/amd64,linux/arm64 .
[+] Building 0.0s (0/0)
ERROR: Multi-platform build is not supported for the docker driver.
Switch to a different driver, or turn on the containerd image store, and try again.
Learn more at https://docs.docker.net.tw/go/build-multi-platform/
啟用 containerd 映象儲存允許你構建多平臺映象並將其載入到本地映象儲存中