How to start a mongodb shell in docker container?

2019-03-08 00:25发布

To start the container, I am typing the following command:

sudo docker run -i -t -p 28000:27017 mongo:latest /usr/bin/mongod --smallfiles

But I want to open the shell in this container to type the mongo commands. What command should I run to do the same?

3条回答
我想做一个坏孩纸
2楼-- · 2019-03-08 01:04

This is an alternate way: Open a new terminal

mongo 127.0.0.1:28000

Your mongo shell starts in this terminal now.

查看更多
干净又极端
3楼-- · 2019-03-08 01:12

The thing that I struggled too but found a solution:

docker pull mongo
docker run --name CONTAINERNAME --restart=always -d -p 8080:8080 mongo mongod --auth
sudo docker exec -i -t CONTAINERNAME bash
mongo
use admin
db.createUser({user:"user", pwd:"password", roles:[{role:"root", db:"admin"}]})
exit && exit

Now you have created a running Docker container with everything you need. Now if you want to connect from any client with an admin user, just run this

mongo -u "user" -p "password" HOSTIP --authenticationDatabase "admin"
查看更多
欢心
4楼-- · 2019-03-08 01:13

You can run the interactive mongo shell by running the following command:

docker run -it -p 28000:27017 --name mongoContainer mongo:latest mongo

Otherwise, if your container is already running, you can use the exec command:

docker exec -it mongoContainer mongo
查看更多
登录 后发表回答