MERN应用Docker容器化Minikube部署:MongoTimeoutError求助
问题:Node.js容器无法连接MongoDB(Minikube环境)
开发MERN应用,使用Docker容器化,通过Minikube管理容器。启动Node.js容器时出现MongoDB连接超时错误。
Node.js容器错误日志
Server v8 up and running on port 5000 !
MongoTimeoutError: Server selection timed out after 10000 ms
at Timeout._onTimeout (/home/app/node_modules/mongodb-core/lib/sdam/topology.js:773:16)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7) {
[Symbol(mongoErrorContextSymbol)]: {}
}
server.js相关代码
const express = require("express"); const mongoose = require("mongoose"); const app = express(); // the connection string when using username and password in mongodb-server // mongodb://${process.env.MONGO_DB_USERNAME}:${process.env.MONGO_DB_PASSWORD}@mongodb-service:27017/exam?authSource=${process.env.MONGO_DB_USERNAME} mongoose .connect("mongodb://mongodb-service/exam", { useNewUrlParser: true, useUnifiedTopology: true, }) .then(() => console.log(`MongoDB successfully connected`)) .catch((err) => console.log(err));
MongoDB容器日志
{"t":{"$date":"2022-12-16T14:28:58.316+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"LogicalSessionCacheRefresh","msg":"Slow query","attr":{"type":"command","ns":"config.system.sessions","command":{"createIndexes":"system.sessions","v":2,"indexes":[{"key":{"lastUse":1},"name":"lsidTTLIndex","expireAfterSeconds":1800}],"ignoreUnknownIndexOptions":false,"writeConcern":{},"$db":"config"},"numYields":0,"reslen":114,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":5}},"FeatureCompatibilityVersion":{"acquireCount":{"r":5,"w":1}},"ReplicationStateTransition":{"acquireCount":{"w":5}},"Global":{"acquireCount":{"r":5,"w":1}},"Database":{"acquireCount":{"r":4,"w":1}},"Collection":{"acquireCount":{"r":5,"w":1}},"Mutex":{"acquireCount":{"r":8}}},"storage":{},"protocol":"op_msg","durationMillis":529}}
内容的提问来源于stack exchange,提问作者kalx11
相关产品推荐
相关产品推荐

