使用 Docker 引擎的 containerd 镜像存储

注意

containerd 镜像存储是 Docker Engine 的一项实验性功能。 如果您使用的是 Docker Desktop,请参阅使用 Docker Desktop 的 containerd 镜像存储页面上的说明。

containerd 是行业标准的容器运行时,它改用 snapshotter 用于存储镜像和容器数据的经典存储驱动程序。 虽然该驱动程序仍是 Docker Engine 的默认驱动程序, 您可以选择使用 containerd 快照程序作为一项实验性功能。overlay2

要了解有关 containerd 镜像存储及其优势的更多信息,请参阅 Docker Desktop 上的 containerd 镜像存储

在 Docker Engine 上启用 containerd 镜像存储

切换到 containerd snapshotter 会导致您暂时丢失镜像,并且 使用 Classic Storage 驱动程序创建的容器。 这些资源仍然存在于您的文件系统上,您可以通过以下方式检索它们 关闭 containerd snapshotters 功能。

以下步骤说明如何启用 containerd snapshotters 功能。

  1. 将以下配置添加到您的配置文件中:/etc/docker/daemon.json

    {
      "features": {
        "containerd-snapshotter": true
      }
    }
  2. 保存文件。

  3. 重新启动守护程序以使更改生效。

    $ sudo systemctl restart docker
    

重新启动守护进程后,running 显示您正在使用 containerd snapshotter 存储驱动程序。docker info

$ docker info -f '{{ .DriverStatus }}'
[[driver-type io.containerd.snapshotter.v1]]

Docker Engine 默认使用 containerd snapshotter。overlayfs