-
现在有一个docker的dump备份数据文件
没有任何后缀(因为这个文件不是bson文件而是压缩包archive文件)
-
想要将这个文件放到docker的mongo容器里
查看容器 $ docker ps

- 移动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
里
- 以命令行(bash)的交互方式进入到mongo容器里
$ docker exec -it f3d06b709cd5 bash
docker exec -it CONTAINER COMMAND
进入容器ID为f3d06b709cd5的虚拟机内并执行bash命令。-i
交互模式,-t
采用伪tty分配。
- 用
mongorestore
命令解压这个dump数据包
$ mongorestore --drop --gzip --archive=dump_mongodb_2020-02-14-09-26-24
--drop
将当前mongodb中已存在的和dump数据包中同名的collection给删掉,--gzip
用于恢复使用mongodump --gzip
压缩的压缩文件, --archive
用于恢复档案文件。鉴于我们这个文件是压缩的档案文件,因此都要加上。
网友评论