docker 下备份和恢复mongodb
Posted 黄良钵博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 下备份和恢复mongodb相关的知识,希望对你有一定的参考价值。
备份
进入docker容器:
docker exec -it mongo /bin/bash
Bash
使用mongo命令备份
有密码:
mongodump -h 127.0.0.1 --port 27017 -u=用户名 -p=密码 -d test -o /home/dump
Bash
参数 作用
-h host
--port 端口
-d 指定数据库
-o 指定备份到哪个目录,不指定应该是直接备份到根目录的/dump文件夹
-u 用户名
-p 密码
test 数据库名称
系统备份成功会在/home/dump目录下自动生成一个数据库名的文件夹/test,里面是全部Collection备份的bson和json文件。
无密码:
mongodump -h dbhost -d dbname -o dbdirectory
-d:需要备份的数据库实例,例如:test
-o:备份的数据存放位置,例如:/home/dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
打包备份文件
tar czvf test.tar test
退出容器
exit
Bash
从容器复制到电脑
docker cp mongo:/home/dump/test.tar /home
恢复
恢复和备份差不多,就把mongo备份命令改为恢复的命令
mongorestore -h <hostname><:port> -d dbname <path>
Bash
复制文件到容器:
docker cp /home/test.tar mongo:/home/dump
Bash
以上是关于docker 下备份和恢复mongodb的主要内容,如果未能解决你的问题,请参考以下文章