【问题标题】:graylog mongdb configuration with user password on docker-composedocker-compose 上带有用户密码的 graylog mongodb 配置
【发布时间】:2021-06-30 07:04:28
【问题描述】:

在为 graylog 制作 docker-compose 文件时,我正在尝试设置 mongodb 用户密码。

但我无法正确设置用户和密码。

这是我的 docker-compose.yml :

version: '2'
services:
  # MongoDB: https://hub.docker.com/_/mongo/
  mongodb:
    image: mongo:4.2
    volumes:
      - mongo_data:/data/db
    environment: 
      - MONGO_INITDB_ROOT_USERNAME=user
      - MONGO_INITDB_ROOT_PASSWORD=password
      - MONGO_INITDB_DATABASE=graylog
    ports:
      # mongodb
      - 27017:27017
  # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    volumes:
      - es_data:/usr/share/elasticsearch/data
    environment:
      - http.host=0.0.0.0
      - transport.host=localhost
      - network.host=0.0.0.0
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
  # Graylog: https://hub.docker.com/r/graylog/graylog/
  graylog:
    image: graylog/graylog:4.1
    volumes:
      - graylog_data:/usr/share/graylog/data
    environment:
      # CHANGE ME (must be at least 16 characters)!
      - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
      # Password: admin
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
      - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
      - MONGODB_URI=mongodb://user:password@localhost:27017/graylog
      - GRAYLOG_MONGODB_URI=mongodb://user:password@localhost:27017/graylog
      - MONGO_INITDB_ROOT_USERNAME=user
      - MONGO_INITDB_ROOT_PASSWORD=password
      - GRAYLOG_MONGO_INITDB_ROOT_USERNAME=user
      - GRAYLOG_MONGO_INITDB_ROOT_PASSWORD=password
    entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.sh
    links:
      - mongodb:mongo
      - elasticsearch
    restart: always
    depends_on:
      - mongodb
      - elasticsearch
    ports:
      # Graylog web interface and REST API
      - 9000:9000
      # Syslog TCP
      - 1514:1514
      # Syslog UDP
      - 1514:1514/udp
      # GELF TCP
      - 12201:12201
      # GELF UDP
      - 12201:12201/udp
# Volumes for persisting data, see https://docs.docker.com/engine/admin/volumes/volumes/
volumes:
  mongo_data:
    driver: local
  es_data:
    driver: local
  graylog_data:
    driver: local

但我还有一个:

graylog_1 | 2021-06-30 07:00:32,022 信息: org.mongodb.driver.cluster - 集群描述尚不可用。 在超时之前等待 30000 毫秒 graylog_1 | 2021-06-30 07:00:32,022 信息:org.mongodb.driver.cluster - 监视器异常 线程同时连接到服务器 localhost:27017 graylog_1 | com.mongodb.MongoSocketOpenException:异常打开套接字 graylog_1 |在 com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70) ~[graylog.jar:?] graylog_1 |在 com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:128) ~[graylog.jar:?] graylog_1 |在 com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) [graylog.jar:?] graylog_1 |在 java.lang.Thread.run(Thread.java:748) [?:1.8.0_292] graylog_1 | 引起:java.net.ConnectException:连接被拒绝(连接 拒绝)

那么知道如何在 docker compose 文件中指定用户/密码吗?

【问题讨论】:

    标签: mongodb docker-compose graylog


    【解决方案1】:

    错误消息表明连接被拒绝(=端口已关闭)。这是因为你这里使用了localhost作为数据库地址:

    - GRAYLOG_MONGODB_URI=mongodb://user:password@localhost:27017/graylog
    

    localhost 更改为mongodb

    - GRAYLOG_MONGODB_URI=mongodb://user:password@mongodb:27017/graylog
    

    一般情况下,容器内的localhost指的是容器本身。由于graylog 容器内部没有mongodb 实例,它会告诉您graylog 容器中的localhost:27017 没有任何监听。

    更改后graylog 可能会告诉您由于凭据错误而无法连接。这是因为MONGO_INITDB_ROOT_USERNAME 创建的用户被添加到admin 数据库(不是'graylog')。如果您还没有,我想您需要手动创建用户。

    还有,这些:

    - MONGODB_URI=mongodb://user:password@localhost:27017/graylog
    - MONGO_INITDB_ROOT_USERNAME=user
    - MONGO_INITDB_ROOT_PASSWORD=password
    - GRAYLOG_MONGO_INITDB_ROOT_USERNAME=user
    - GRAYLOG_MONGO_INITDB_ROOT_PASSWORD=password
    

    graylog没有影响。

    【讨论】:

      猜你喜欢
      • 2019-10-28
      • 1970-01-01
      • 2018-10-25
      • 2021-09-08
      • 2015-09-17
      • 1970-01-01
      • 2023-03-15
      • 2020-07-11
      • 2021-10-01
      相关资源
      最近更新 更多