я хочу запустить три контейнера для моего веб-приложения.
Контейнеры: база данных frontend, backend и mongo.
Для этого я пишу следующий docker-compose.yml
version: '3.7'
services:
web:
image: node
container_name: web
ports:
- "3000:3000"
working_dir: /node/client
volumes:
- ./client:/node/client
links:
- api
depends_on:
- api
command: npm start
api:
image: node
container_name: api
ports:
- "3001:3001"
working_dir: /node/api
volumes:
- ./server:/node/api
links:
- mongodb
depends_on:
- mongodb
command: npm start
mongodb:
restart: always
image: mongo
container_name: mongodb
ports:
- "27017:27017"
volumes:
- ./database/data:/data/db
- ./database/config:/data/configdb
и обновить строку подключения в моем файле .env
MONGO_URI = 'mongodb://mongodb:27017/test'
Я запускаю его с docker-compose up -d
и все продолжается.
Проблема в том, что я запускаю docker logs api -f
для мониторинга состояния бэкэнда: у меня ошибка MongoNetworkError: failed to connect to server [mongodb:27017] on first connect
, потому что мой контейнер mongodb работает, но не в ожидающих соединениях (он повышается после попытки соединения бэкендом).
Как я могу проверить, находится ли mongodb в состоянии ожидания соединения перед запуском контейнера API?
Заранее спасибо