温馨提示×

centos docker怎么迁移数据

小樊
42
2026-09-24 02:01:08
栏目: 智能运维

在 CentOS 上迁移 Docker 数据,常见场景有 迁移镜像/容器数据目录、迁移容器卷数据、整机迁移 Docker 环境。下面按常见需求说明。


一、迁移 Docker 默认数据目录(/var/lib/docker)

适用于:磁盘空间不足,想把 Docker 数据挪到新磁盘。

1. 停止 Docker

systemctl stop docker

2. 拷贝原数据

假设新目录是 /data/docker

mkdir -p /data/docker
rsync -avz /var/lib/docker/ /data/docker/

3. 修改 Docker 配置

编辑或新建:

vim /etc/docker/daemon.json

内容:

{
  "data-root": "/data/docker"
}

4. 启动 Docker

systemctl start docker

5. 验证

docker info | grep "Docker Root Dir"

二、迁移容器卷(Volume)数据

查看卷

docker volume ls

备份卷数据

docker run --rm -v 卷名:/volume -v $(pwd):/backup busybox \
tar czf /backup/volume.tar.gz -C /volume .

恢复到新机器

docker run --rm -v 新卷名:/volume -v $(pwd):/backup busybox \
tar xzf /backup/volume.tar.gz -C /volume

三、迁移镜像和容器(导出导入)

导出镜像

docker save 镜像名 > image.tar

导入镜像

docker load < image.tar

导出容器

docker export 容器名 > container.tar

导入容器

docker import container.tar 新镜像名

四、整机迁移 Docker(最稳妥)

  1. 停止 Docker
  2. 打包 /var/lib/docker
  3. 拷贝到新 CentOS 机器
  4. 相同方式配置 daemon.json
  5. 启动 Docker

五、注意事项

  • 迁移前 必须停止 Docker
  • 使用 rsync 比 cp 更安全
  • SELinux 环境注意权限:
restorecon -Rv /data/docker

如果你能说明是 换服务器 / 换硬盘 / 只迁数据库容器,我可以给你更精确的命令。

0 踩