要启动容器,我键入以下命令:
sudo docker run -i -t -p 28000:27017 mongo:latest /usr/bin/mongod --smallfiles
但是我想打开这个容器中的外壳来输入mongo命令。我应该运行什么命令来执行相同的操作?
pobjuy321#
您可以通过运行以下命令来运行交互式mongo外壳:
docker run -it -p 28000:27017 --name mongoContainer mongo:latest mongo
否则,如果您的容器已经在运行,则可以使用exec命令:
exec
docker exec -it mongoContainer mongo
dm7nw8vv2#
我也曾挣扎过,但最终找到了解决方案:
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"
x8diyxa73#
从Docker Hub下载最新的MongoDB Docker镜像
sudo docker pull mongo
现在设置MongoDB容器
docker run --name containername mongo
通过bash外壳客户端与数据库交互
docker exec -it containername bash
启动MongoDB外壳客户端
mongo
rryofs0p4#
扩展和更新@vladzam答案,如果您的容器已经在docker中运行,则可以使用带有如下登录和传递选项的exec mongosh命令:
@vladzam
docker
mongosh
docker exec -it database-dev mongosh -u "myLogin" -p "myPass"
nxagd54h5#
假设您的主机上安装了Mongo,这就是我几年前问这个问题时的情况*。这是我尝试的另一种方式:打开一个新的航站楼
mongo 127.0.0.1:28000
您的mongo外壳现在在这个终端中开始。
5条答案
按热度按时间pobjuy321#
您可以通过运行以下命令来运行交互式mongo外壳:
否则,如果您的容器已经在运行,则可以使用
exec
命令:dm7nw8vv2#
我也曾挣扎过,但最终找到了解决方案:
现在,您已经创建了一个运行的Docker容器,其中包含您需要的所有内容。现在,如果您想以管理员用户身份从任何客户端连接,只需运行以下命令
x8diyxa73#
从Docker Hub下载最新的MongoDB Docker镜像
现在设置MongoDB容器
通过bash外壳客户端与数据库交互
启动MongoDB外壳客户端
rryofs0p4#
扩展和更新
@vladzam
答案,如果您的容器已经在docker
中运行,则可以使用带有如下登录和传递选项的execmongosh
命令:nxagd54h5#
假设您的主机上安装了Mongo,这就是我几年前问这个问题时的情况*。这是我尝试的另一种方式:打开一个新的航站楼
您的mongo外壳现在在这个终端中开始。