我正在与我的团队一起开发此应用程序,我们希望在不使用生产数据库的情况下测试我们的代码。
这一切都应该在本地完成,那么我如何运行一个新的 mongodb docker 容器并将我们数据库的所有数据复制到这个新的 mongo 容器中呢?
基本上,我想运行一个docker-compose和Dockerfile命令,它将创建(如果还没有(一个新的mongo容器(原始,没有数据(,连接到我们的atlas URI,复制数据库的所有数据并将其粘贴到这个新容器中。如果容器已存在,则脚本应删除数据库并再次复制/粘贴它。
这可行吗?
你应该能够生成一个具有持久卷的新 MongoDB 容器,然后使用mongodump
和mongorestore
实用程序将数据重新导入到本地 mongo 容器中。
例如:
mongodump --archive=dump.db.gz --gzip --host=cloudyhost.atlas.whatever
mongorestore --archive=dump.db.gz --gzip