输入密码

输入密码

我正在尝试使用 Docker 设置本地 Mongo 实例以用于开发目的。我需要打开身份验证,并且根据文档有可能的。

问题是,在我创建初始管理员用户(使用上述文档)后,下一步是“外部”连接,但失败了。我还希望能够通过胖客户端进行连接(我使用的是 Robo 3T)。

我使用以下命令创建了 Docker 容器:

docker run --name mongodb -p 0.0.0.0:27017:27017 -d mongo --auth

然后我使用以下命令创建管理员用户:

docker exec -it mongodb mongo admin
> db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

然后我尝试使用以下方式从外部登录:

docker run -it --rm --link mongodb:mongo mongo mongo -u root -p 123456

即我收到错误:

MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
2018-01-26T16:17:34.309+0000 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2018-01-26T16:17:34.309+0000 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

我想我误解了某件事,但我不确定是什么。

答案1

运行以下命令确保 /data/db 目录具有正确的权限

sudo chown-R id -un/数据/数据库

输入密码

相关内容