mongodb - 如何通过 docker-compose 在 docker 上创建用户和登录 mongodb 数据库?
问题描述
我在 docker 上有一个正在运行的 mongodb。我在上面创建了用户,但我无法使用来自 docker-compose 的用户凭据登录。
这是我的配置:
创建用户:
use database
db.createUser({user: "username", pwd: "password", roles: [{role: "readWrite", db: "database"}]});
码头工人-compose.yml
mongo:
container_name: container
image: mongo:latest
env_file: .env
entrypoint:
MONGO_INITDB_ROOT_USERNAME: ${MONGODB_AUTH_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_AUTH_PASS}
但是尝试运行docker-compose up
命令时出现以下错误:
ERROR: for 177f1a769910_smartcap-mongodb Cannot start service mongo: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"MONGO_INITDB_ROOT_USERNAME:username\": executable file not found in $PATH": unknown
我怎么解决这个问题?你可以帮帮我吗?
解决方案
更改entrypoint
为environment
,如下所示:
mongo:
container_name: container
image: mongo:latest
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGODB_AUTH_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_AUTH_PASS}