要启动容器,我输入以下命令:
sudo docker run -i -t -p 28000:27017 mongo:latest /usr/bin/mongod --smallfiles
但是我想在这个容器中打开shell来输入mongo命令。 我应该运行什么命令来做同样的事情?
答案 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"