Добрый день,
Сделал сбоку для Прослушивния
http сервера, в качестве БД - mongo, (Сборку пытался произвести с networks и без, результат один):
version: '3.7'
services:
node:
container_name: app_node
build: ./docker/containers/node
volumes:
- ./app:/var/www
- ./volumes/node/nginx/:/var/log/nginx/
ports:
- 3002:3000
working_dir: ${CONTAINER_PATH_HOST}
restart: always
tty: true
networks:
- myapp
mongo:
container_name: app_mongo
image: mongo:latest
ports:
- 27018:27017
networks:
- myapp
networks:
myapp:
driver: bridge
localhost:3002 прослушивается ожидаемо. Результат отдается как надо.
Но если я пытаюсь произвести подключение к
Mongo, то сыпятся ошибки:
mongoose.connect(
'mongodb://mongo:27018/app',
{
useNewUrlParser: true,
useUnifiedTopology: true
}
)
.then(() => console.log('MongoDB Connected'))
.catch(err => console.log(err));
app.get('/', (req, res) => {
res.send({'foo': 'bar'});
});
const port = 3000;
app.listen(port, () => console.log('Server running...'));
При запуске комманды из под контейнера
node:
docker-compose exec node node server.js;
Ловлю следующий лог:
Server_started_
Server running...
{ MongooseError [MongooseServerSelectionError]: connect ECONNREFUSED 192.168.128.4:27018
at new MongooseServerSelectionError (/var/www/node_modules/mongoose/lib/error/serverSelection.js:22:11)
at NativeConnection.Connection.openUri (/var/www/node_modules/mongoose/lib/connection.js:808:32)
at Mongoose.connect (/var/www/node_modules/mongoose/lib/index.js:333:15)
at Object. (/var/www/server.js:10:10)
at Module._compile (internal/modules/cjs/loader.js:816:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
at Module.load (internal/modules/cjs/loader.js:685:32)
at Function.Module._load (internal/modules/cjs/loader.js:620:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:877:12)
at internal/main/run_main_module.js:21:11
message: 'connect ECONNREFUSED 192.168.128.4:27018',
name: 'MongooseServerSelectionError',
reason:
TopologyDescription {
type: 'Single',
setName: null,
maxSetVersion: null,
maxElectionId: null,
servers: Map { 'mongo:27018' => [ServerDescription] },
stale: false,
compatible: true,
compatibilityError: null,
logicalSessionTimeoutMinutes: null,
heartbeatFrequencyMS: 10000,
localThresholdMS: 15,
commonWireVersion: null },
[Symbol(mongoErrorContextSymbol)]: {} }
Насколько я понял, порт я указал правильно, в чем причина может быть?
ПОдскажите пожалуйста, в чем тут косяк - в портах или в нэймингах?