【问题标题】:Enable Mongo Authentication using docker-compose使用 docker-compose 启用 Mongo 身份验证
【发布时间】:2018-01-18 15:05:59
【问题描述】:

如何使用docker-composeMongoDB 启用身份验证? 这是我的docker-compose.yml

version: "2"

services:
  mongo-db:
    image: "mongo:3.6.0"
    container_name: mongo-db
    ports:
      - 27017:27017
    environment:
      - MONGO_INITDB_ROOT_USERNAME=backend
      - MONGO_INITDB_ROOT_PASSWORD=123456
      - MONGO_INITDB_DATABASE=backend
    command: mongod --bind_ip 0.0.0.0

  backend:
    build:
      context: .
    container_name: backend
    ports:
      - 3030-3039:3030-3039
    depends_on:
      - mongo-db

当我不使用身份验证时效果很好。

但是当我启用身份验证时发生错误:

mongo-db        | 2018-01-18T14:52:36.836+0000 I NETWORK  [conn4] received client metadata from 172.27.0.3:49742 conn: { driver: { name: "nodejs", version: "2.2.34" }, os: { type: "Linux", name: "linux", architecture: "x64", version: "4.4.0-109-generic" }, platform: "Node.js v9.3.0, LE, mongodb-core: 2.1.18" }
mongo-db        | 2018-01-18T14:52:36.866+0000 I ACCESS   [conn4] SCRAM-SHA-1 authentication failed for backend on backend from client 172.27.0.3:49742 ; UserNotFound: Could not find user backend@backend

StackOverflow 和 Internet 上有很多解决方案,但没有一个有效。这张图片有什么变化吗?我可以在不建立自己的形象的情况下做到这一点吗?

【问题讨论】:

    标签: mongodb authentication docker docker-compose


    【解决方案1】:

    I had build a new image from mongo 我在其中配置数据库和用户/密码。

    现在我们可以使用:

    services:
      mongo-db:
        image: vepo/mongo
        container_name: mongo-db
        ports:
          - 27017:27017
        environment:
          - AUTH=yes
          - ADMIN_USER=admin
          - ADMIN_PASS=admin
          - APPLICATION_DATABASE=backend
          - APPLICATION_USER=backend
          - APPLICATION_PASS=XXXXXXXXXXX
    

    【讨论】:

      猜你喜欢
      • 2019-09-26
      • 1970-01-01
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 2016-12-09
      • 2023-01-31
      相关资源
      最近更新 更多