0
votes

This is the setup i have

Created mongodb instance with docker

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

Entered container using

sudo docker exec -it container-id /bin/bash

Executed command

mongodump -d DEV -u dev -p dev123 ( works perfectly )

Now the ISSUE happens while restoring to different database

mongorestore --db test ./dump/DEV -- throws below error

Failed: test.duke: error reading database: not authorized on test to execute command { listCollections: 1, cursor: { batchSize: 0 } }

Stuck for 3 days now any help would be appreciated ( beginner to both docker and mongodb)

1

1 Answers

0
votes

If your other mongo database has authentication then you should use :

mongorestore -u <username> -p <password> --authenticationDatabase=<database name> --db=test ./dump/DEV

Other advice would be to create dumps like :

mongodump --port 55555 -d testdb --gzip --archive=testdb.tar

and then restore like:

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