带有Docker容器的MongoDB,无法使用mongorestore还原具有不同名称的数据库

带有Docker容器的MongoDB,无法使用mongorestore还原具有不同名称的数据库,mongodb,docker,Mongodb,Docker,这是我的设置 使用docker创建mongodb实例 sudo docker run-p 27017:27017-e MONGODB_DATABASE=DEV-e MONGODB_USER=DEV-e MONGODB_PASSWORD=dev123-e MONGODB_ADMIN_PASSWORD=dev123-e MONGODB_ROLE=readWriteAnyDatabase--name mymongo-v testdb:/var/lib/MONGODB/data-d mongo 使用 s

这是我的设置

使用docker创建mongodb实例

sudo docker run-p 27017:27017-e MONGODB_DATABASE=DEV-e MONGODB_USER=DEV-e MONGODB_PASSWORD=dev123-e MONGODB_ADMIN_PASSWORD=dev123-e MONGODB_ROLE=readWriteAnyDatabase--name mymongo-v testdb:/var/lib/MONGODB/data-d mongo

使用

sudo docker exec-it容器id/bin/bash

执行命令

mongodump-d DEV-u DEV-p dev123(工作完美)

现在,问题发生在恢复到不同数据库时

mongorestore--db test./dump/DEV--抛出以下错误

失败:test.duke:读取数据库时出错:未在测试中授权执行命令{listCollections:1,游标:{batchSize:0}


现在已停滞3天,如果您的其他mongo数据库具有身份验证功能,请使用以下工具,我们将不胜感激(docker和mongodb初学者)

mongorestore -u <username> -p <password> --authenticationDatabase=<database name> --db=test ./dump/DEV
然后像这样恢复:

mongorestore --port 55555  --gzip --archive=testdb.tar
mongorestore --port 55555  --gzip --archive=testdb.tar