I setup MongoDB docker container following this blog: https://medium.com/@kristaps.strals/docker-mongodb-net-core-a-good-time-e21f1acb4b7b
and when I run .net core app, save one todo, I manage to query it back, and it seems that everything works (todo collection is created, db is created, todo is saved). But when I access mongo db container using 'docker exec -it mongodb bash' and try to get dbs with 'show dbs' it retrieves empty list. Also, this docker compose boots up mongo express container which also doesn't list new db and collection. Do you know what can be an issue?
Cheers
It's likely that you have authentication enabled (username and password). This means that you have to first authenticate in the shell before you can list the databases.
Here's how that can be done (extra steps added for googlers):
$ docker ps // list images
IMAGE
my-mongodb-container
$ docker exec -it my-mongodb-container bash
// -it is a flag for 'interactive terminal', bash is the shell we'll use
root@example:/# mongo
// enter mongodb shell
> use admin
// switched to db admin
> db.auth("username", "password");
// 1
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mydb 0.000GB
> use mydb
// switched to db mydb
You are now able to run mongodb shell commands inside your mongodb instance - so things like 'show collections' will work.
Hope that helps someone! This stuff is sometimes very opaque :)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.