移动 containerd 数据目录,核心是修改配置文件并迁移现有数据。
📝 操作步骤
停止服务:为了安全迁移数据,必须先停止相关的服务。
systemctl stop containerd # 如果你的 Docker 也在运行,建议同时停止 systemctl stop docker docker.socket创建新目录并迁移数据:创建
/data/containerd目录,并将原有数据完整复制过去。mkdir -p /data/containerd # 使用 rsync 保留权限和属性,比 cp 更适合迁移 rsync -aP /var/lib/containerd/ /data/containerd/修改配置:编辑
/etc/containerd/config.toml文件,找到root这一行并修改路径。# 将 root = "/var/lib/containerd" 修改为 root = "/data/containerd"如果文件里没有这行,可以手动添加。
启动服务并验证:
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参数。