在 Ubuntu 上“迁移 Docker 容器”通常有几种常见场景,下面按最实用、最安全的方式给你讲清楚。
适用:换机器、换服务器、备份恢复
查看容器:
docker ps -a
提交容器为镜像(如果容器有改动):
docker commit 容器名 镜像名:tag
导出镜像:
docker save 镜像名:tag -o myimage.tar
拷贝到目标机器:
scp myimage.tar user@目标IP:/path/
导入镜像:
docker load -i myimage.tar
运行容器:
docker run -d --name 容器名 镜像名:tag
✅ 优点:干净、可控、官方推荐
❌ 缺点:需重新配置挂载、端口、环境变量
docker export 容器ID -o container.tar
导入为镜像:
docker import container.tar 新镜像名:tag
⚠️ 注意:
查看:
docker inspect 容器名 | grep Mounts
备份 volume:
docker run --rm -v 卷名:/data -v $(pwd):/backup busybox \
tar cvf /backup/volume.tar /data
恢复:
docker run --rm -v 卷名:/data -v $(pwd):/backup busybox \
tar xvf /backup/volume.tar -C /
如果原来是 compose:
docker compose down
scp -r 项目目录 目标机器
docker compose up -d
✅ 最适合生产环境
停止 Docker:
sudo systemctl stop docker
拷贝目录:
/var/lib/docker
到新机器同样位置,再启动:
sudo systemctl start docker
⚠️ 不推荐跨版本、跨系统
| 场景 | 建议方式 |
|---|---|
| 换服务器 | 镜像导出导入 |
| 有数据 | 镜像 + volume |
| 生产环境 | Docker Compose |
| 临时测试 | export / import |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的命令。