我在 docker 下设置 Graylog2 时遇到了一些麻烦。在我尝试使用身份验证之前,一切正常。我得到的只是永远重复的以下错误。
尝试两者root
和graylog
用户(在两者graylog
和admin
数据库中)给出相同的结果。
来自 mongodb 的日志说两个用户都是在安装过程中创建的。但是 graylog 说它在数据库中找不到任何graylog
用户graylog
。与用户相同root
。
我是 MongoDB 新手,不知道身份验证是如何工作的。--auth
但是据我了解,在为 root 帐户(https://github.com/docker-library/mongo/pull/145 )提供用户/密码时激活身份验证(类似于参数)。
Graylog 的身份验证机制是否可能与 MongoDB 所期望的不同?请参阅粘贴日志中的第 158 行
作为 root 用户的错误消息
mongodb_1 | 2017-04-16T13:27:52.486+0000 I NETWORK [thread1] 连接从 172.18.0.4:46566 #12 接受(现在打开 1 个连接) mongodb_1 | 2017-04-16T13:27:52.495+0000 I NETWORK [conn12] 从 172.18.0.4:46566 conn12 收到客户端元数据:{驱动程序:{名称:“mongo-java-driver”,版本:“未知”},操作系统: { 类型:“Linux”,名称:“Linux”,架构:“amd64”,版本:“4.4.0-72-generic”},平台:“Java/Oracle Corporation/1.8.0_72-internal-b15”} mongodb_1 | 2017-04-16T13:27:52.525+0000 I ACCESS [conn12] SCRAM-SHA-1 身份验证在来自客户端 172.18.0.4:46566 的灰色日志上的 root 失败;UserNotFound: 找不到用户 root@graylog mongodb_1 | 2017-04-16T13:27:52.543+0000 I - [conn12] 结束连接 172.18.0.4:46566(现在打开 1 个连接)
作为 graylog 用户的错误消息(完整登录 pastebin)
mongodb_1 | 2017-04-16T15:47:48.404+0000 I NETWORK [thread1] 接受来自 172.18.0.4:41602 #7 的连接(现在打开 1 个连接) mongodb_1 | 2017-04-16T15:47:48.410+0000 I NETWORK [conn7] 从 172.18.0.4:41602 conn7 收到客户端元数据:{驱动程序:{名称:“mongo-java-driver”,版本:“未知”},操作系统: { 类型:“Linux”,名称:“Linux”,架构:“amd64”,版本:“4.4.0-72-generic”},平台:“Java/Oracle Corporation/1.8.0_72-internal-b15”} mongodb_1 | 2017-04-16T15:47:48.418+0000 I ACCESS [conn7] SCRAM-SHA-1 身份验证在来自客户端 172.18.0.4:41602 的 graylog 上的 graylog 失败;UserNotFound: 找不到用户 graylog@graylog mongodb_1 | 2017-04-16T15:47:48.423+0000 I - [conn7] 结束连接 172.18.0.4:41602(现在打开 1 个连接)
这是我的./docker-composer.yml
版本:'2' 服务: 蒙哥达: 构建:./mongodb 卷: - /docker/mongodb/data:/data/db 弹性搜索: 图片:“弹性搜索:2” 命令:“elasticsearch -Des.cluster.name='graylog'” 卷: - /docker/elasticsearch/data:/usr/share/elasticsearch/data 灰色日志: 图片:graylog2/服务器 卷: - /docker/graylog/journal:/usr/share/graylog/data/journal - /docker/graylog/config:/usr/share/graylog/data/config 环境: #GRAYLOG_MONGODB_URI: mongodb://root:drUqGGCMh@mongodb:27017/graylog GRAYLOG_MONGODB_URI: mongodb://graylog:vWGzncmBe9@mongodb:27017/graylog 取决于: - MongoDB - 弹性搜索 端口: - “9000:9000”
./mongodb/Dockerfile
从蒙戈:3 ENV MONGO_INITDB_ROOT_USERNAME:根 ENV MONGO_INITDB_ROOT_PASSWORD:drUqGGCMh 添加 grayloguser.js /docker-entrypoint-initdb.d/grayloguser.js
./mogodb/grayloguser.js
db.getSiblingDB('graylog'); db.createUser( { 用户:“灰色日志”, 密码:“vWGzncmBe9”, 角色:[ {角色:“dbOwner”,db:“graylog”} ] } );