备份和还原Docker容器中的MongoDB数据
2020-12-05Backend
<!--more-->本文介绍如何使用两行简单的命令来执行备份和还原Docker容器中MongoDB的数据库数据。
备份
备份MongoDB有多种方法,其中比较简单的就是使用mongodump。
docker exec -i <CONTAINER_NAME> mongodump -d <DATABASE> --archive > ./mongo/collections.archive
- 以上命令会将
<CONTAINER_NAME>容器中的<DATABASE>数据库dump到host机器的collections.archive文件中。 --archive会dump所有collection到一个文件。mongodump命令不提供目标路径的话会将dump结果输出到标准输出,这里使用>重定向输出到host的文件。
还原
这里使用host机器上的collections.archive文件进行还原。
docker exec -i <CONTAINER_NAME> mongorestore --archive < ./mongo/collections.archive
--archive模式导出的备份文件还原时必须也要加上--archivemongorestore命令不提供源路径的话会使用标准输入,这里使用<重定向host的文件作为mongorestore的输入。