无法登录Docker mongo数据库



奇怪的是,这与我在其他微服务中所做的完全相同,所以我很困惑。

这是我的码头组合。yaml

version: '4.12.0'
services:
mongo:
container_name: mongodb
image: mongo:4.4.16
environment:
MODE: SINGLE
MONGO_USER: mongoadmin
MONGO_PASS: mongoadmin1234
ports:
- "27017:27017"

和我的应用程序属性

# MongoDB Config
spring.data.mongodb.uri=mongodb://mongoadmin:mongadmin1234@localhost:27017
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.database=database-demo

当我启动spring-boot时,我得到了一个身份验证失败:

Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server localhost:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175) ~[mongodb-driver-core-4.2.3.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:358) ~[mongodb-driver-core-4.2.3.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:279) ~[mongodb-driver-core-4.2.3.jar:na]
at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongodb-driver-core-4.2.3.jar:na]
at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongodb-driver-core-4.2.3.jar:na]
at com.mongodb.internal.connection.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:227) ~[mongodb-driver-core-4.2.3.jar:na]
at com.mongodb.internal.connection.SaslAuthenticator.getNextSaslResponse(SaslAuthenticator.java:134) ~[mongodb-driver-core-4.2.3.jar:na]

此外,使用mongo DB compass,我也无法使用该用户/通行证登录。此连接字符串有效:

mongodb://localhost:27017

但事实并非如此。

mongodb://mongoadmin:mongoadmin1234@localhost:27017

尝试用MONGO_INITDB_ROOT_USERNAME替换MONGO_USER,并用MONGO_INITDB_ROOT_PASSWORD替换MONGO_PASS

最新更新