Docker Engine 的 containerd 镜像存储

可用性: 实验性功能

containerd 作为行业标准的容器运行时,使用 snapshotter 而不是经典的存储驱动来存储镜像和容器数据。虽然 overlay2 驱动仍然是 Docker Engine 的默认驱动,但您可以选择将 containerd snapshotter 作为实验性功能使用。

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

在 Docker Engine 上启用 containerd 镜像存储

切换到 containerd snapshotter 会导致您暂时丢失使用经典存储驱动创建的镜像和容器。这些资源仍然存在于您的文件系统中,您可以通过关闭 containerd snapshotter 功能来找回它们。

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

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

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

  3. 重启守护进程使更改生效。

    $ sudo systemctl restart docker
    

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

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

Docker Engine 默认使用 overlayfs containerd snapshotter。

页面选项