【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 run -p 01:27017 --name mongo -v mongo-data:/data -d mongo:4.4

 

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

​ ​连接成功后添加一个数据库再添加一个表

 随便写点数据,参考内容

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

​ 现在随便找个地方新建一个文件夹,可以取名叫backup,然后终端输入命令

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

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

 Step2:数据迁移

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

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

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

可以看见现在还没有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"

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

 

成功导入数据!

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值