首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用Docker创建的Mongodb容器上使用根凭据登录

在使用Docker创建的Mongodb容器上使用根凭据登录
EN

Stack Overflow用户
提问于 2018-12-03 04:51:50
回答 2查看 1.2K关注 0票数 0

按照这里的建议,我正在为单神服务器创建一个坞容器。我的停靠者撰写文件如下所示:

代码语言:javascript
运行
复制
version: '3.2'

services:
  mongo:
    container_name: mongo
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
    volumes:
      - ./data:/data/db
    ports:
      - "27017:27017"

然后使用docker命令构建并运行容器:

代码语言:javascript
运行
复制
docker-compose up --build

在启动日志中,我可以看到正在创建的用户:

代码语言:javascript
运行
复制
mongo    | 2018-12-03T04:40:00.562+0000 I STORAGE  [conn2] createCollection: 
admin.system.users with generated UUID: ...
mongo    | Successfully added user: {
mongo    |      "user" : "admin",
mongo    |      "roles" : [
mongo    |              {
mongo    |                      "role" : "root",
mongo    |                      "db" : "admin"
mongo    |              }
mongo    |      ]
mongo    | }

但是,当我试图使用该用户的auth启动mongo时,会得到一个授权错误:

代码语言:javascript
运行
复制
mongo -u "admin" -p "admin"

2018-12-03T04:47:34.752+0000 E QUERY    [thread1] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1608:20
@(auth):6:1
@(auth):1:2
exception: login failed

使用上述凭据连接到mongo的正确命令是什么?

EN

Stack Overflow用户

发布于 2018-12-03 05:44:37

在mongo上配置身份验证有一些先决条件:

  • 将这一行放在mongod.conf中 安保: 授权:启用

在此之后,重新启动您的对接程序,然后执行以下步骤:

  • 通过mongo连接到芒果
  • 使用管理
  • 创建用户 {用户:“根”,pwd:"root",角色:{userAdminAnyDatabase,readWriteAnyDatabase",db:"admin“} (})
  • 出口蒙戈壳
代码语言:javascript
运行
复制
- Provide authentication database to connect to mongo:

mongo -u root -proot

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53587663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档