docker数据迁移备份
应用场景:
开发环境Docker,在Docker中安装很多的容器,进行对应的配置,将Docker中的运行的容器持久化为镜像,将对应的镜像安装到生产环境中。
1.将开发环境下的Docker中对应的容器持久化为镜像
2.将镜像保存为一个压缩包,发送到生产环境服务器中
3.生产环境中需要将压缩包–>镜像–>容器
1.容器保存为镜像
我们可以通过以下命令将容器保存为镜像,镜像名称和标签可自定义
docker commit {正在运行容器名称/容器ID} {镜像名称}:{镜像标签}
例如:
docker commit 0f3b838bcca2 redis:6.0.16_new
镜像标签如果不写默认为latest
2.镜像备份
我们可以通过以下命令将镜像保存为tar 文件
docker save -o {压缩包存放路径} {镜像名称/镜像ID}
例如:
docker save -o redis.tar redis:6.0.16_new
-o :输出到的文件
压缩包在生产环境下会还原为一个image,redis:6.0.16_new为还原之后的name和tag
3.镜像恢复与迁移
首先我们先删除掉redis镜像 然后执行此命令进行恢复
docker load -i {备份的镜像文件}
举例
docker load -i redis.tar
-i :指定导入的文件
执行后再次查看镜像,可以看到镜像已经恢复,可以再次执行启动命令运行测试