Есть
два контейнера , один с
BackEnd'ом на NodeJS, а другой с
MongoDB.
Все работает, но приложение на
NodeJS не видит порт MongoDB, логично, это же разные контейнеры. Покопавшийся в интернете, я нашел вроде подходящие решение - добавить в файл строку
network_mode: host.
Файл docker-compose.ymlversion: '3.7'
services:
app:
image: node:latest
container_name: kondrackii-backend
build: ./backend
ports:
- '8081:8081'
volumes:
- "./backend:/usr/src/app"
- "/usr/src/app/node_modules"
depends_on:
- mongo
#links:
# - mongo
network_mode: host
command: 'npm start'
mongo:
container_name: mongo
image: mongo:latest
ports:
- '27017:27017'
command: 'mongod'
restart: always
volumes:
- "/var/www/kondrackii.ru/db:/data/db"
network_mode: host
Часть файла с подключением к MongoDB....
mongoose.connect('mongodb://127.0.0.1:27017/kondrackii', { useNewUrlParser: true, useCreateIndex: true })
....
Этот вариант не работает,
NodeJS все равно
не видит MongoDB.
Что делать?
Я уже подумываю о том чтобы в один контейнер поместить NodeJS приложение и MongoDB. Правильно ли так делать?