Я пытаюсь докернизировать имеющееся у меня приложение node
, использующее экземпляр mongodb
. Я пытаюсь указать на 'mongodb://mongo:27018/eugenie_cp'
, но он продолжает идти к 127.0.0.1:27017
Я следил за этими двумя вопросами, которые могут быть помечены как дубликаты, но я уже использовал ответы оттуда:
Невозможно подключиться к MongoDB через node.js в Docker
MongoDB вкл с Docker "не удалось подключиться к серверу [localhost: 27017] при первом подключении"
Я получаю сообщение об ошибке из-за следующей строки, но не могу ее решить.
// call express middleware
var express = require('express');
//Initialize the app.
var app = express();
//setting the mongoose options.
var options = {
useMongoClient: true,
server: {
socketOptions: {
socketTimeoutMS: 0,
connectTimeout: 0
}
},
server: {
reconnectTries: 1000
},
replset: {
socketOptions: {
socketTimeoutMS: 0,
connectTimeout: 0
}
}
};
// Mongo instance here.
var mongoose = require('mongoose');
// setting the MongoDb connection URL / string
var mongodb_connection_url = 'mongodb://mongo:27017/eugenie_cp';
// connect to our database
mongoose.connect(mongodb_connection_url, options);
// MongoDb connection error check
var db_check = mongoose.connection;
db_check.on('error', console.error.bind(console, 'MongoDB connection error:'));
Я получаю следующую ошибку:
app | MongoDB connection error: Error [MongoError]: failed to connect to server [127.0.0.1:27017] on first connect [Error: connect ECONNREFUSED 127.0.0.1:27017
app | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1126:14) {
app | name: 'MongoError',
app | message: 'connect ECONNREFUSED 127.0.0.1:27017'
app | }]
Mydocker-compose.yml
:
version: "3"
services:
app:
depends_on:
- mongo
container_name: app
restart: always
build: .
ports:
- "3002:3002"
links:
- mongo
mongo:
container_name: mongo
image: mongo:3.2
volumes:
- ./data:/data/db
ports:
- "27018:27017"
Как мне решить эту ошибку?