我已经在这个问题上花了几个小时,但我真的不知道还能做什么(我所做的所有研究都没有提供任何解决方案)。所以我想问问是否有人能想出为什么这不起作用:
我运行一个包含mongo和mongo-express镜像的docker-compose文件。使用这里提供的默认代码不起作用(mongo-express停止并显示退出码1),所以我尝试了很多配置,留下了下面的docker-compose文件(实际上可以使mongo-express启动并在GUI中显示如下:
Databases: admin
Server Status: Turn on admin in config.js to view server stats!
但从那里开始,什么都不起作用。控制台显示了问题:
mongoviewer_1 | Database connected
database_1 | 2018-08-22T09:15:27.743+0000 I ACCESS [conn2] SASL SCRAM-SHA-1 authentication failed for admin on admin from client; UserNotFound: Could not find user admin@admin
mongoviewer_1 | unable to list databases
mongoviewer_1 | { MongoError: command listDatabases requires authentication
mongoviewer_1 | at Function.MongoError.create (/node_modules/mongodb-core/lib/error.js:31:11)
mongoviewer_1 | at /node_modules/mongodb-core/lib/connection/pool.js:483:72
mongoviewer_1 | at authenticateStragglers (/node_modules/mongodb-core/lib/connection/pool.js:429:16)
mongoviewer_1 | at Connection.messageHandler (/node_modules/mongodb-core/lib/connection/pool.js:463:5)
mongoviewer_1 | at Socket.<anonymous> (/node_modules/mongodb-core/lib/connection/connection.js:319:22)
mongoviewer_1 | at emitOne (events.js:116:13)
mongoviewer_1 | at Socket.emit (events.js:211:7)
mongoviewer_1 | at addChunk (_stream_readable.js:263:12)
mongoviewer_1 | at readableAddChunk (_stream_readable.js:250:11)
mongoviewer_1 | at Socket.Readable.push (_stream_readable.js:208:10)
mongoviewer_1 | name: 'MongoError',
mongoviewer_1 | message: 'command listDatabases requires authentication',
mongoviewer_1 | ok: 0,
mongoviewer_1 | errmsg: 'command listDatabases requires authentication',
mongoviewer_1 | code: 13,
mongoviewer_1 | codeName: 'Unauthorized' }
docker-compose文件如下所示:
database:
image: mongo:latest
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
MONGO_INITDB_DATABASE: dockerdb
ports:
- "27017:27017"
mongoviewer:
image: mongo-express
environment:
ME_CONFIG_MONGODB_SERVER: database
ME_CONFIG_BASICAUTH_USERNAME: ""
ME_CONFIG_MONGODB_AUTH_DATABASE: admin
ME_CONFIG_MONGODB_AUTH_USERNAME: admin
ME_CONFIG_MONGODB_AUTH_PASSWORD: password
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: password
ports:
- "8081:8081"
links:
- database
depends_on:
- database
这是我尝试过的当前版本,我还尝试了许多其他配置,但没有解决身份验证问题。
如果有人有答案或至少有想法可以做些什么,我将非常感激!