我正在尝试使用 mongo db 和 mongo Express 图像使用 docker 创建我的第一个 docker 网络。
我用
docker pull mongo
和 docker pull mongo-express
拉了。
我使用
docker network create mongo-network
创建了一个 docker 网络,然后我首先使用以下命令启动了 mongo docker:
docker run -p 27017:27017 -d -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=mongoadmin --name mongodb --net mongo-network mongo
同样还有 mongo-express:
docker run -d -e ME_CONFIG_MONGODB_ADMINUSERNAME=admin -e ME_CONFIG_MONGODB_ADMINPASSWORD=password --net mongo-network --name me -e ME_CONFIG_MONGODB_SERVER=mongodb mongo-express
环境变量如下所示: https://hub.docker.com/_/mongo-express
但是日志显示以下错误:
Sun Sep 15 10:52:34 UTC 2024 retrying to connect to mongo:27017 (10/10)
/docker-entrypoint.sh: line 15: mongo: Try again
/docker-entrypoint.sh: line 15: /dev/tcp/mongo/27017: Invalid argument
No custom config.js found, loading config.default.js
Welcome to mongo-express 1.0.2
------------------------
Could not connect to database using connectionString: mongodb://admin:****@mongodb:27017/"
/app/node_modules/mongodb/lib/cmap/connection.js:227
callback(new error_1.MongoServerError(document));
^
MongoServerError: Authentication failed.
at Connection.onMessage (/app/node_modules/mongodb/lib/cmap/connection.js:227:30)
at MessageStream.<anonymous> (/app/node_modules/mongodb/lib/cmap/connection.js:60:60)
at MessageStream.emit (node:events:517:28)
at processIncomingData (/app/node_modules/mongodb/lib/cmap/message_stream.js:125:16)
at MessageStream._write (/app/node_modules/mongodb/lib/cmap/message_stream.js:33:9)
at writeOrBuffer (node:internal/streams/writable:392:12)
at _write (node:internal/streams/writable:333:10)
at Writable.write (node:internal/streams/writable:337:10)
at Socket.ondata (node:internal/streams/readable:809:22)
at Socket.emit (node:events:517:28) {
ok: 0,
code: 18,
codeName: 'AuthenticationFailed',
connectionGeneration: 0,
[Symbol(errorLabels)]: Set(2) { 'HandshakeError', 'ResetPool' }
}
Node.js v18.20.3
我错过了什么?
在第一个容器中,您使用用户名
admin
和密码 mongoadmin
在第二个容器中,您尝试使用用户名
admin
和密码 password
进行身份验证