如何在docker容器中启动mongodb shell?

时间:2015-10-05 09:01:39

标签: mongodb docker

要启动容器,我输入以下命令:

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

但是我想在这个容器中打开shell来输入mongo命令。 我应该运行什么命令来做同样的事情?

3 个答案:

答案 0 :(得分:98)

您可以通过运行以下命令来运行交互式mongo shell:

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

否则,如果您的容器已在运行,则可以使用exec命令:

docker exec -it mongoContainer mongo

答案 1 :(得分:6)

这是另一种方式:打开一个新终端

mongo 127.0.0.1:28000

你的mongo shell现在在这个终端开始了。

答案 2 :(得分:6)

我也很努力但找到了解决方案的东西:

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

现在,您已经创建了一个运行中的Docker容器,其中包含您需要的一切。现在,如果您想通过管理员用户从任何客户端进行连接,只需运行

mongo -u "user" -p "password" HOSTIP --authenticationDatabase "admin"