一、备份 MongoDB
1.1 备份数据库
在 Mongodb 中我们使用 mongodump 命令来备份MongoDB数据。
docker exec -it mongotest_mongo_1 mongodump -h localhost -u root -p example -o /tmp/test
- mongotest_mongo_1:容器名称;
- -h: MongDB 所在服务器地址;
- -u: 代表的是用户,此处是超级管理员;
- -p: 表示密码;
- -d: 需要备份的数据库。若没有该参数,则表示备份所有数据库;
- -o: 备份后的数据要存放的位置;
注意:
此时备份数据目录 /tmp/test
是在容器内部,还需将它拷贝出来。
1.2 拷贝备份内容
将容器内部的 /tmp/test
目录复制到本地目录下。
docker cp 4de4f160569c:/tmp/test /tmp/test
- docker cp: 用于容器与主机之间的数据拷贝。
- 4de4f160569c: 容器ID;
二、恢复备份数据
在 Mongodb 中我们使用 mongorestore 命令来恢复备份的数据。
docker exec -it mongotest_mongo_1 mongorestore -h localhost -u root -p example —dir /tmp/test
-h
: MongDB 服务所在的服务器地址;--dir
: 备份数据所在的的路径;
三、衍生知识
如何将宿主机上的 /tmp/test
目录添加到镜像中?
- 在宿主机上使用
docker cp
命令,将宿主机的目录拷贝到镜像中; - 将目录挂载到镜像上,通过
volumes
参数;