containerd 映象倉庫

此頁面提供有關在 Docker Engine 中使用 containerd 進行映象和檔案系統管理的持續整合的資訊。

注意

切換到 containerd 映象儲存後,經典映象儲存中的映象和容器將不可見。所有這些容器和映象仍然存在。要再次檢視它們,請關閉 containerd 映象儲存功能。

什麼是 containerd?

containerd 是對用於在系統上執行和管理容器的底層核心功能的抽象。它是 Docker 和 Kubernetes 等容器軟體中使用的平臺。

Docker Engine 已經使用 containerd 進行容器生命週期管理,包括建立、啟動和停止容器。此頁面描述了 Docker 對 containerd 整合的下一步:containerd 映象儲存。

映象儲存

映象儲存是負責將映象推送到檔案系統、拉取映象以及在檔案系統上儲存映象的元件。經典 Docker 映象儲存支援的映象型別有限。例如,它不支援包含清單列表的映象索引。當您建立多平臺映象時,例如,映象索引會解析映象的所有特定於平臺的變體。構建帶註釋的映象時,也需要映象索引。

containerd 映象儲存擴充套件了 Docker Engine 可以本地互動的映象型別的範圍。雖然這是一個低階架構更改,但它是解鎖一系列新用例的先決條件,包括

  • 構建多平臺映象 和帶註釋的映象
  • 支援使用具有獨特特性的 containerd 快照器,例如 stargz 用於容器啟動時延遲拉取映象,或 nydusdragonfly 用於點對點映象分發。
  • 能夠執行 Wasm 容器

啟用 containerd 映象儲存

containerd 映象儲存預設情況下未啟用。要為 Docker Desktop 啟用此功能,請

  1. 在 Docker Desktop 中導航到 **設定**。
  2. 在 **常規** 選項卡中,選中 **使用 containerd 拉取和儲存映象**。
  3. 選擇 **應用並重啟**。

要停用 containerd 映象儲存,請清除 **使用 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 映象儲存使您能夠構建多平臺映象並將它們載入到您的本地映象儲存中

反饋

感謝您嘗試使用 containerd 提供的新功能。請透過 反饋表格 上的錯誤跟蹤器提供反饋或報告您可能發現的任何錯誤。