将 mongodb Atlas DB 克隆到新的 mongodb docker 容器

Clone mongoAtlas DB to a new mongodb docker container

我正在和我的团队一起开发这个应用程序,我们想在不使用生产数据库的情况下测试我们的开发代码。

应该都在本地完成,那我怎么运行一个新的mongodb docker容器,把我们数据库的所有数据都复制到这个新的mongo容器?

基本上我想 运行 一个 docker-compose 和 Dockerfile 命令来创建(如果还没有)一个新的 mongo 容器(原始的,没有数据), 连接到我们的图集 URI,复制一个数据库的所有数据并粘贴到这个新容器中。如果容器已经存在,脚本应该删除数据库并再次copy/paste它。

这可行吗?

您应该能够生成一个带有持久卷的新 MongoDB 容器,然后使用 mongodumpmongorestore 实用程序将数据重新导入本地 mongo容器。

例如:

mongodump --archive=dump.db.gz --gzip --host=cloudyhost.atlas.whatever
mongorestore --archive=dump.db.gz --gzip