【Docker】备份和迁移数据

更多内容请看专栏 【 Docker快速上手 Docker基础 】 


备份和导入 Volume 的流程

备份:

1.运行一个 ubuntu 的容器,挂载需要备份的 volume 到容器,并且挂载宿主机目录到容器里的备份目录。
2.运行 tar 命令把数据压缩为一个文件。
3.把备份文件复制到需要导入的机器。

迁移(导入):

1.运行 ubuntu 容器,挂载容器的 volume,并且挂载宿主机备份文件所在目录到容器里。
2.运行 tar 命令解压备份文件到指定目录。


目录

下面以MongoDB的数据备份和迁移做演示

Step1:数据备份

 Step2:数据迁移


下面以MongoDB的数据备份和迁移做演示

Step1:数据备份

运行一个 mongodb,创建一个名叫mongo-data的 volume 指向容器的 /data 目录,暴露端口01

docker run -p 01:27017 --name mongo -v mongo-data:/data mongo:4.4

【Docker】备份和迁移数据_第1张图片

也可以让内容在后台输出使用下面命令 

docker run -p 01:27017 --name mongo -v mongo-data:/data -d mongo:4.4

 【Docker】备份和迁移数据_第2张图片

【Docker】备份和迁移数据_第3张图片

接着我们使用​​​​​​Studio 3T for Mongo连接mongo

【Docker】备份和迁移数据_第4张图片​ 【Docker】备份和迁移数据_第5张图片​连接成功后添加一个数据库再添加一个表

【Docker】备份和迁移数据_第6张图片

【Docker】备份和迁移数据_第7张图片

 随便写点数据,参考内容

{
    '_id':'u1',
    'name':'哈仔康康',
    'age':19,
 
}

【Docker】备份和迁移数据_第8张图片

【Docker】备份和迁移数据_第9张图片​ 现在随便找个地方新建一个文件夹,可以取名叫backup,然后终端输入命令

docker run --rm --volumes-from mongo -v d:/backup(绝对路径):/backup ubuntu tar cvf /backup/backup.tar /data/

【Docker】备份和迁移数据_第10张图片

指令执行完会在backup下生成一个压缩包,这时候数据就已经备份好了 

【Docker】备份和迁移数据_第11张图片

 Step2:数据迁移

接下来为了方便做数据迁移的展示我们新生成一个暴露端口为02的

docker run -p 02:27017 --name mongo2 -v mongo-data2:/data -d mongo:4.4

我们可以上Studuio 3T for MongoDB上连接一下

【Docker】备份和迁移数据_第12张图片

可以看见现在还没有01容器刚才写的test数据库 

然后我们将刚才生成的backup的包导入02容器

docker run --rm --volumes-from mongo2 -v d:/backup(绝对路径):/backup ubuntu bash -c "cd /data/ && tar xvf /backup/backup.tar --strip 1"

【Docker】备份和迁移数据_第13张图片

导入完成后我们刷新一下dm02这个数据库 (注意刚才导入数据的时候自动关闭了02容器需要手动去Docker Desktop重新启动)

【Docker】备份和迁移数据_第14张图片

 【Docker】备份和迁移数据_第15张图片

成功导入数据!

恭喜你!已经学会了Docker的数据备份和迁移 !

你可能感兴趣的:(#,Docker快速上手,Docker基础,docker,容器,运维)