Всем привет, возникла проблема при старте контейнера Node + Mongo, сборка совсем базовая, нет никаких сложностей.
После старта, сервис с nodejs поднимается и работает стабильно, сервис mongodb выдает:
mongo exited with code 132
, падает и уходит в перезапуск. Соответсвенно, сервис node не видит mongo и падает с ошибкой
getaddrinfo ENOTFOUND mongo
поднять сервис mongo
docker run --name mongo -d mongo:latest
отдельно, тоже не представляется возможным.
Вопрос для "ГУРУ" - кто сталкивался с подобной ошибкой и как лечил?
В нетах люди пишут, что при отсутствии поддержки процессором sse4.2 такое часто бывает, но мой проц поддерживает:
cat /proc/cpuinfo | grep sse4_2
... sse4_1 sse4_2...
docker-compose.yml:
version: "3.8"
services:
api:
build: ./api
command: npm run start
restart: unless-stopped
ports:
- "3000:3000"
environment:
- PORT=3000
- MONGO_URL=mongodb://mongo:27017/api
links:
- mongo
depends_on:
- mongo
environment:
WAIT_HOSTS: mongo:27017
mongo:
container_name: mongo
image: mongo
restart: unless-stopped
ports:
- "27017:27017"
Dockerfile:
FROM node:14.17.3-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
ну и консоль для полноты картины:
Successfully tagged docker_api:latest
mongo is up-to-date
Starting docker_api_1 ... done
Attaching to mongo, docker_api_1
api_1 |
api_1 | > api@1.0.0 start /usr/src/app
api_1 | > node src/index.js
api_1 |
api_1 | MONGO_URI: mongodb://mongo:27017/api
mongo exited with code 132
api_1 | e: MongooseServerSelectionError: getaddrinfo ENOTFOUND mongo
...