【发布时间】:2023-03-15 16:48:01
【问题描述】:
我正在尝试在 docker swarm 中部署 nodejs 应用程序。但是我正在努力让它连接到 mongodb 服务。 下面是我的 docker-compose 文件
version: '3'
services:
moitrack-teltonika-parser:
build: .
image: moitrack/moitrack-teltonika-parser:1.0.14
ports:
- "5001:5001"
networks:
- web
deploy:
mode: replicated
replicas: 2
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
depends_on:
- db
db:
image: mongo
command: mongod --bind_ip_all
ports:
- "27017"
volumes:
- mongodata:/data/db
restart: "always"
deploy:
placement:
constraints: [node.role == manager]
networks:
- web
volumes:
mongodata: {}
networks:
web:
external: true
这是节点js脚本
var express = require("express");
const mongoose = require('mongoose');
var server = express();
const options = {
useNewUrlParser: true,
reconnectTries: Number.MAX_VALUE,
reconnectInterval: 500,
connectTimeoutMS: 10000,
};
const DB_URI = 'mongodb://db:27017/moiponeGateKeeper';
mongoose.connect(DB_URI, options).then(() => {
console.log("database connected");
}).catch(err => console.log(err));
server.listen(5001, () => { console.log("Server started"); });
当我在 docker swarm 中查看节点服务时,出现以下错误。 enter image description here
【问题讨论】:
-
尝试输入IP地址而不是本地地址也许可以!
-
请在此处粘贴错误日志,而不是使用图像
标签: node.js mongodb docker docker-swarm