containerd 镜像存储

本页提供有关 for 的持续集成的信息 Docker Engine 中的镜像和文件系统管理。containerd

注意

镜像和容器不会在经典镜像存储和 新的 containerd 镜像存储。当您切换镜像存储、容器和 非活动存储中的镜像将保留,但会处于隐藏状态,直到您切换回来。

什么是 containerd?

containerd是低级内核功能的抽象 用于在系统上运行和管理容器。 它是 Docker 和 Kubernetes 等容器软件中使用的平台。

Docker Engine 已经用于容器生命周期管理, 这包括创建、启动和停止容器。 本页介绍了 Docker 的 containerd 集成的下一步: containerd 镜像存储。containerd

镜像存储

镜像存储是负责推送、拉取、 以及将镜像存储在文件系统上。 经典 Docker 镜像存储在其支持的镜像类型方面受到限制。 例如,它不支持包含清单列表的镜像索引。 例如,当您创建多平台镜像时, Image 索引解析 Image 的所有特定于平台的变体。 使用证明构建镜像时,还需要镜像索引。

containerd 镜像存储扩展了镜像类型的范围 Docker Engine 可以与之进行本机交互。 虽然这是一个低级的架构更改, 这是解锁一系列新用例的先决条件,包括:

  • 构建多平台镜像和具有证明的镜像
  • 支持使用具有独特特征的 containerd 快照程序, 例如,用于容器启动时的延迟拉取镜像的 stargz, 或 NYDUSDragonfly,用于点对点镜像分发。
  • 能够运行 Wasm 容器

启用 containerd 镜像存储

containerd 镜像存储在 Docker Desktop 版本 4.34 中默认启用 及更高版本,但仅适用于全新安装或执行出厂重置。如果 您从早期版本的 Docker Desktop 升级,或者如果您使用较旧的 Docker Desktop 的版本,您必须手动切换到 containerd 镜像 商店。

要在 Docker Desktop 中手动启用此功能,请执行以下操作:

  1. 导航到 Docker Desktop 中的设置
  2. General 选项卡中,选中 Use containerd for pull and store images
  3. 选择应用并重新启动

要禁用 containerd 镜像存储, 清除 Use containerd for pull and storage images 复选框。

构建多平台镜像

术语 Multi-platform image 是指用于多个不同体系结构的一组镜像。 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.com/go/build-multi-platform/

启用 containerd 镜像存储后,您可以构建多平台镜像 并将它们加载到本地镜像存储中:

反馈

感谢您试用 中提供的新功能。提供反馈或 通过反馈表上的问题跟踪器报告您可能发现的任何错误。containerd