美文网首页
用mongorestore在docker容器里恢复dump数据

用mongorestore在docker容器里恢复dump数据

作者: 苦庭 | 来源:发表于2020-03-25 23:14 被阅读0次
  1. 现在有一个docker的dump备份数据文件


    没有任何后缀(因为这个文件不是bson文件而是压缩包archive文件)
  2. 想要将这个文件放到docker的mongo容器里

查看容器 $ docker ps

当前运行的mongo容器
  1. 移动dump文件到mongo容器

通常情况下mongo容器是不能读取到当前电脑的,就像用VMware的linux虚拟机也无法读取windows的文件。docker只是相当于一个没有图像界面的VMware。因此,我们要先将dump文件从当前电脑复制一份到容器(虚拟机)里,好让这个文件能够在虚拟机内被读取。

$ docker cp dump_folder f3d06b709cd5:/dump_folder

docker cp <from_path> <to_path> 是docker的拷贝命令:将当前电脑位置的dump_folder文件夹所有内容拷贝到容器ID为f3d06b709cd5的虚拟机里面的/dump_folder

  1. 以命令行(bash)的交互方式进入到mongo容器里
$ docker exec -it f3d06b709cd5 bash

docker exec -it CONTAINER COMMAND进入容器ID为f3d06b709cd5的虚拟机内并执行bash命令。-i交互模式,-t 采用伪tty分配。

  1. mongorestore命令解压这个dump数据包
$ mongorestore --drop --gzip --archive=dump_mongodb_2020-02-14-09-26-24

--drop将当前mongodb中已存在的和dump数据包中同名的collection给删掉,--gzip 用于恢复使用mongodump --gzip压缩的压缩文件, --archive用于恢复档案文件。鉴于我们这个文件是压缩的档案文件,因此都要加上。

相关文章

网友评论

      本文标题:用mongorestore在docker容器里恢复dump数据

      本文链接:https://www.haomeiwen.com/subject/otrxuhtx.html