使用 Docker 引擎进行容器镜像存储

笔记

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

containerd 是行业标准的容器运行时,它使用快照程序而不是传统的存储驱动程序来存储映像和容器数据。虽然该overlay2驱动程序仍然是 Docker Engine 的默认驱动程序,但您可以选择使用 containerd 快照程序作为实验性功能。

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

在 Docker 引擎上启用 Containerd 映像存储

切换到containerd快照程序会导致您暂时丢失使用经典存储驱动程序创建的图像和容器。这些资源仍然存在于您的文件系统上,您可以通过关闭 containerd snapshotters 功能来检索它们。

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

  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 Engineoverlayfs默认使用containerd snapshotter。