之前有文章讲述了mongodb如何进行备份与恢复,但是最近遇到了使用docker运行mongo时,导出和备份数据没有权限的问题
原因和解决思路
导致这样的问题的原因是mongodb默认只允许本地进行导入和导出,为此需要进入虚拟机内部导出数据后复制出来(或者挂载目录)
导出
首先使用docker exec -it <容器名/ID> /bin/sh
进入docker容器内部

使用导出命令mongodump -d <数据库名称> -o <导出目录>
导出数据到一个目录

然后使用docker cp <源路径> <目标路径>
,路径可以是宿主机路径,也可以是<容器名/ID>:<容器内路径>
表示的容器路径


这样就导出数据了~~
导入
导入数据只需要和导出数据相反即可
使用docker cp <源路径> <目标路径>
将数据从本地复制到容器当中

使用docker exec -it <容器名/ID> /bin/sh
进入docker容器内部,然后使用恢复命令mongorestore -d <数据库名称> <数据目录>
将数据恢复即可

END
2018-07-20 完成
2018-07-20 立项