当我执行docker-compose up -d
时,我有一个mongoDB实例,mongoDB
容器正在运行,并且他尝试从用户那里获取身份验证。
但是我使用 docker-compose 并在其中设置了凭据,但是当运行 docker-compose up 时,用户未连接。
下面,您可以看到我的docker-compose.yml
:
version: "2"
services:
web:
image: kolacaine/docker-hello-world
ports:
- "80:8081"
depends_on:
- mongo-service
mongo-service:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: myUserAdmin
MONGO_INITDB_ROOT_PASSWORD: abc123
command: mongod --auth
ports:
- "27017:27017"
什么也没发生,他总是在我的容器内询问身份验证。
最佳答案
我认为您误解了 MONGO_INITDB_ROOT_USERNAME
和密码的用途,它们用于创建默认 root 用户,而不是提供预填充的凭据。因此,要连接到 mongo shell,您需要使用 mongo -u myUserAdmin -p abc123
。
PS 命令:mongod --auth
是多余的,入口点脚本在看到您使用这 2 个环境时会自动执行此操作。
关于node.js - 为 mongoDB 设置身份验证 - DOCKER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53591614/