Docker容器实例迁移

Docker官方并没有给出能够直接完整迁移容器(Container)的方法

1 导出镜像

1
docker save minio/minio:RELEASE.2023-03-24T21-41-23Z -o D:/docker/images/minio_RELEASE.2023-03-24T21-41-23Z.tar

注意:如果镜像的tag显示的是latest,则需要查看具体版本号:

1
2
3
4
5
6
7
docker run --rm minio/minio:latest minio --version

docker run --rm nginx:latest nginx --version

docker run --rm redis:latest redis-server --version

docker run --rm mysql:latest mysql --version

2 编写docker-compose.yml文件

将启动容器时指定的配置写入到docker-compose.yml文件中,
如果忘记了创建容器时的命令,可以执行docker inspect <容器名称/ID>查看容器的所有信息,
手动提取到docker-compose.yml文件中.

这里有一个简单的docker compose转换工具,可以参考使用。

3 备份容器数据

如果容器挂载了数据卷并产生了业务数据,则需要把这部分数据也一起迁移过去。

4 导入镜像

1
docker load -i ./minio_RELEASE.2023-03-24T21-41-23Z.tar