我有一个启动 nginx 服务器的 docker 配置。现在我必须运行 mongo 和 mongo-express 才能连接到我的数据库。当我将这两个配置放入 docker-compose.yml 并尝试 docker compose up 时,mongo 服务启动,但 mongo express 显示此错误
Could not connect to database using connectionString: mongodb://root:pass@mongodb:27017/" mongo-express_1 | (node:8) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [mongodb:27017] on first connect
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助,这是我的配置。
docker-compose.yml
version: "3"
services:
app:
build:
context: .
dockerfile: Dockerfile
image: cryptoterminal
container_name: app
restart: unless-stopped
volumes:
- ./:/var/www
webserver:
build:
context: .
dockerfile: Dockerfile_Nginx
image: nginx
container_name: webserver
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./:/var/www
- …Run Code Online (Sandbox Code Playgroud) 这是我关于 Node js 和 docker 的第一篇文章,所以请耐心等待。我正在使用 docker-compose 运行 mongo 和 mongo Express 容器,但 mongo Express 没有运行。当我在没有 docker-compose 的情况下运行 mongo 和 mongo Express 时,它工作得很好。所以,我认为我在 docker-compose 或 Node js 代码中遇到了一些问题
\ndocker-compose.yaml
\nversion: '3'\nservices:\n mongodb:\n image: mongo\n ports:\n - 27017:27017\n environment:\n - MONGO_INITDB_ROOT_USERNAME=admin\n - MONGO_INITDB_ROOT_PASSWORD=password\n mongo-express:\n image: mongo-express\n ports:\n - 8080:8081\n environment:\n - ME_CONFIG_MONGODB_ADMINUSERNAME=admin\n - ME_CONFIG_MONGODB_ADMINPASSWORD=password\n - ME_CONFIG_MONGODB_SERVER=mongodb\nRun Code Online (Sandbox Code Playgroud)\n服务器.js
\nlet express = require('express');\nlet path = require('path');\nlet fs = require('fs');\nlet MongoClient = require('mongodb').MongoClient;\nlet bodyParser = require('body-parser');\nlet app = express();\n\napp.use(bodyParser.urlencoded({\n extended: …Run Code Online (Sandbox Code Playgroud) 我与 MongoDB Community Kubernetes Operator 建立了一个 Minikube-Cluster。要查看内容,我想设置一个连接到 Mongo-Cluster/ReplicaSet 的 mongo-express 实例。但是如果我应用部署容器总是失败:
mongo-express_1 | Waiting for localhost:27017...
mongo-express_1 | Welcome to mongo-express
mongo-express_1 | ------------------------
mongo-express_1 |
mongo-express_1 |
mongo-express_1 | Mongo Express server listening at http://0.0.0.0:8081
mongo-express_1 | Server is open to allow connections from anyone (0.0.0.0)
mongo-express_1 | basicAuth credentials are "admin:pass", it is recommended you change this in your config.js!
mongo-express_1 | Database connected
mongo-express_1 | Admin Database connected
mongo-express_1 | Error [MongoError]: Authentication failed.
mongo-express_1 | at …Run Code Online (Sandbox Code Playgroud) import express from 'express'
const app = express();
const port = process.env.PORT || 8000;
import mongoose from 'mongoose';
mongoose.connect("mongodb://localhost:27017/schooldb").then(() => {
console.log("connection successfully ");
})
app.get('/', (req, res) => {
res.send('Hello user')
})
app.listen(port, () => {
console.log(`listening at port http://localhost:${port}`);
})
Run Code Online (Sandbox Code Playgroud)
嗨,我是学习express的新手,我正在尝试将我的mongodb连接到express js,我无法理解此错误 D:\Learn\Learn Express\ new_mongoose\node_modules\mongoose\lib\connection.js:792 err =新的服务器选择错误();^
MongooseServerSelectionError:在 NativeConnection.openUri (D:\Learn\Learn Express\new_mongoose) 的 _handleConnectionErrors (D:\Learn\Learn Express\new_mongoose\node_modules\mongoose\lib\connection.js:792:11) 连接 ECONNREFUSED ::1:27017 \node_modules\mongoose\lib\connection.js:767:11) 在 runNextTicks (node:internal/process/task_queues:60:5) 在 listOnTimeout (node:internal/timers:533:9) 在 process.processTimers (节点:内部/计时器:507:7) { 原因: TopologyDescription { 类型: '未知', 服务器: Map(1) { 'localhost:27017' …
场景:我想从同一个 docker-compose 启动 Mongo 和 Mongo-Express。
我只从 docker-compose 启动 mongodb 没有问题。当我尝试将 Mongo-Express 链接到 Mongo DB 服务时,问题就出现了。
我不确定我是否缺少 docker-compose 或 mongo-express 设置中的某些配置。我不希望这个问题成为 Mongo 设置的一部分。顺便说一句,我粘贴了整个 docker-compose 及其输出。
从波纹管日志我可以看到提高 Mongo 没有问题。当 mongo-express 尝试连接到 Mongo 服务时会出现一些问题,可能是因为我没有正确设置链接。最重要的是,我的 Spring Webflux 成功连接到具有波纹管属性的 Mongo DB。该问题实际上仅限于 mongo-express 到达 mongodb。
允许 Spring Data (spring-boot-starter-data-mongodb-reactive) 成功连接到此类 MongoDb 的 application.yml
spring:
data:
mongodb:
host: 192.168.99.100
port: 27017
database: demodb
authentication-database: admin
username: root
password: rootpassword
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.7'
services:
mongo-express:
image: mongo-express
ports:
- 8081:8081
environment:
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: q
ME_CONFIG_MONGODB_PORT: 27017 …Run Code Online (Sandbox Code Playgroud) mongodb spring-data-mongodb docker docker-compose mongo-express