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

新手上路,请多包涵

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

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

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

原文由 Madhavi Jouhari 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

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

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

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

 docker exec -it mongoContainer mongo

原文由 vladzam 发布,翻译遵循 CC BY-SA 3.0 许可协议

我也很努力但找到了解决方案的事情:

 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"

原文由 Aleksandr Krasnov 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题