温馨提示×

ubuntu docker怎样迁移容器

小樊
44
2026-09-28 12:23:58
栏目: 智能运维

在 Ubuntu 上迁移 Docker 容器,通常有以下几种常见方式,按推荐程度由高到低说明:


一、推荐方式:迁移镜像 + 重新创建容器(最稳妥)

1. 在源机器导出容器为镜像

docker commit 容器名 新镜像名
docker save 新镜像名 > image.tar

2. 拷贝到目标机器

scp image.tar user@目标IP:/path/

3. 在目标机器加载镜像

docker load < image.tar

4. 重新运行容器

docker run -d --name 容器名 新镜像名

✅ 优点:简单、稳定
❌ 缺点:需重新配置挂载、端口、环境变量


二、直接导出 / 导入容器(不推荐但可用)

导出容器

docker export 容器名 > container.tar

导入为镜像

docker import container.tar 新镜像名

运行

docker run -d --name 容器名 新镜像名

⚠ 注意:

  • 会丢失容器元数据(端口、卷、环境变量)
  • 不适合有 volume 的容器

三、整机 Docker 数据迁移(适合整机搬迁)

1. 停止 Docker

sudo systemctl stop docker

2. 拷贝 Docker 目录(默认)

sudo rsync -avz /var/lib/docker/ 目标机器:/var/lib/docker/

3. 启动 Docker

sudo systemctl start docker

✅ 优点:容器、镜像、卷、网络全保留
❌ 缺点:版本需一致,风险较高


四、使用 Docker Compose(最佳实践)

如果有 docker-compose.yml:

docker compose pull
docker compose up -d

配合 volumes + 配置文件,迁移最干净。


建议

  • 生产环境:镜像 + Compose
  • 临时迁移:commit + save
  • 整机搬迁:/var/lib/docker 拷贝

如果你愿意,可以告诉我:

  • 是否有数据卷(volume)
  • 是否生产环境
  • Ubuntu 版本 & Docker 版本

我可以给你一套精准迁移命令。

0 踩