Mongo Express 身份验证失败,docker compose

时间:2021-07-03 18:04:40

标签: mongodb docker docker-compose

我正在尝试使用 docker-compose 在两个容器中运行 mongodb 和 mongo express。看起来 mongodb 容器工作正常,但 mongo express 容器一直以代码 0 退出。

我得到的错误是:无法使用 connectionString 连接到数据库:mongodb://rootuser:rootpass@mongodb:27017/" mongo-express | (node:8) UnhandledPromiseRejectionWarning: MongoNetworkError: 首次连接时无法连接到服务器 [mongodb:27017] [MongoError: Authentication failed.

我的 docker-compose.yml 看起来像这样:

login.html

1 个答案:

答案 0 :(得分:0)

在 MongoDB 中,您可以在您希望的任何数据库中创建用户帐户。例如,我可以在数据库“MyDatabase1”中创建一个名为“JohnDoe”的用户帐户,并在数据库“MyDatabase2”中创建另一个名为“JohnDoe”的帐户。这是两个不同的账户。您在数据库连接字符串中指定授权数据库。由于此功能,它可能会变得混乱。因此,它已成为在名为“admin”的单个数据库中创建数据库用户的标准和推荐方法。通过将用户添加到单个数据库,更易于管理。

在这篇文章中,您没有确定/指定哪个数据库是您对用户“rootuser”的授权数据库,并且连接信息似乎不包含这样的概念。我怀疑您的用户是在数据库中定义的,但是当您尝试连接时,它正在查看临时数据库并没有找到用户。