containerd 镜像存储
本页提供有关 for 的持续集成的信息
Docker Engine 中的镜像和文件系统管理。containerd
注意
镜像和容器不会在经典镜像存储和 新的 containerd 镜像存储。当您切换镜像存储、容器和 非活动存储中的镜像将保留,但会处于隐藏状态,直到您切换回来。
什么是 containerd?
containerd
是低级内核功能的抽象
用于在系统上运行和管理容器。
它是 Docker 和 Kubernetes 等容器软件中使用的平台。
Docker Engine 已经用于容器生命周期管理,
这包括创建、启动和停止容器。
本页介绍了 Docker 的 containerd 集成的下一步:
containerd 镜像存储。containerd
镜像存储
镜像存储是负责推送、拉取、 以及将镜像存储在文件系统上。 经典 Docker 镜像存储在其支持的镜像类型方面受到限制。 例如,它不支持包含清单列表的镜像索引。 例如,当您创建多平台镜像时, Image 索引解析 Image 的所有特定于平台的变体。 使用证明构建镜像时,还需要镜像索引。
containerd 镜像存储扩展了镜像类型的范围 Docker Engine 可以与之进行本机交互。 虽然这是一个低级的架构更改, 这是解锁一系列新用例的先决条件,包括:
- 构建多平台镜像和具有证明的镜像
- 支持使用具有独特特征的 containerd 快照程序, 例如,用于容器启动时的延迟拉取镜像的 stargz, 或 NYDUS 和 Dragonfly,用于点对点镜像分发。
- 能够运行 Wasm 容器
启用 containerd 镜像存储
containerd 镜像存储在 Docker Desktop 版本 4.34 中默认启用 及更高版本,但仅适用于全新安装或执行出厂重置。如果 您从早期版本的 Docker Desktop 升级,或者如果您使用较旧的 Docker Desktop 的版本,您必须手动切换到 containerd 镜像 商店。
要在 Docker Desktop 中手动启用此功能,请执行以下操作:
- 导航到 Docker Desktop 中的设置。
- 在 General 选项卡中,选中 Use containerd for pull and store images。
- 选择应用并重新启动。
要禁用 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