移动 containerd 数据目录,核心是修改配置文件并迁移现有数据。

📝 操作步骤

  1. 停止服务:为了安全迁移数据,必须先停止相关的服务。

    systemctl stop containerd
    # 如果你的 Docker 也在运行,建议同时停止
    systemctl stop docker docker.socket
  2. 创建新目录并迁移数据:创建 /data/containerd 目录,并将原有数据完整复制过去。

    mkdir -p /data/containerd
    # 使用 rsync 保留权限和属性,比 cp 更适合迁移
    rsync -aP /var/lib/containerd/ /data/containerd/
  3. 修改配置:编辑 /etc/containerd/config.toml 文件,找到 root 这一行并修改路径。

    # 将 root = "/var/lib/containerd" 修改为
    root = "/data/containerd"

    如果文件里没有这行,可以手动添加。

  4. 启动服务并验证:

    systemctl daemon-reload
    systemctl start containerd
    # 再次启动 Docker(如果之前停止了)
    systemctl start docker

    可以通过 docker info 或 containerd config dump 来确认新路径是否已生效。

⚠️ 重要提醒

  • 确认路径:务必确保 /etc/containerd/config.toml 中的配置正确,它控制着 containerd 的核心行为。
  • 数据完整性:迁移后请确认容器和镜像都正常工作,再删除旧的 /var/lib/containerd 数据。
  • 特殊环境:如果你用的是 MicroK8s,配置文件路径和参数略有不同,需要修改 --root 参数。

发表评论