@valderan
astronaut in the ocean

Docker: Node + Mongo — при старте падает с ошибкой (mongo exited with code 132) — что может быть?

Всем привет, возникла проблема при старте контейнера 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
...
  • Вопрос задан
  • 1365 просмотров
Решения вопроса 1
@valderan Автор вопроса
astronaut in the ocean
Проблема решена заменой образа на стабильный, latest версия не подошла.
docker pull mongo:4.4.7-focal
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Grapeoff
@Grapeoff
В чём концепция...?
Если верить этому гисту, то ваша ошибка 132 звучит так:

OBSOLETE_CONFIG_SERVERS_INCONSISTENT

Понятия не имею, что это значит, но проверьте ваши конфигурационные серверы (не знаю, есть ли они у вас, но монга считает, что есть :))
Ответ написан
замените latest базовый образ контейнера монго на стабильный тег например mongo:4.4
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы