ElasticSearch — не может одновременно запускать два док-контейнера es

ElasticSearch — не может одновременно запускать два док-контейнера es

Я пытаюсь запустить 2 службы ElasticSearch, используя docker-compose.yaml

Каждый раз, когда я запускаю docker-compose up -d, работает только один сервис. Когда я пытаюсь запустить остановленную службу, она запускается, но первая, которая работала раньше, сразу останавливается.

Вот так выглядит мой docker-compose.yaml:

version: '3.1'
services:
  es-write:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
    container_name: es-write
    environment:
      - discovery.type=single-node
      - TAKE_FILE_OWNERSHIP=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
  es-read:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
    container_name: es-read
    environment:
      - discovery.type=single-node
      - TAKE_FILE_OWNERSHIP=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9201:9200
  sqs:
    image: "roribio16/alpine-sqs:latest"
    container_name: "sqs"
    ports:
      - "9324:9324"
      - "9325:9325"
    volumes:
      - "./.docker-configuration:/opt/custom"
    stdin_open: true
    tty: true
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

тлдр;

Я полагаю, вы получаете известную ошибку <container name> exited with code 137.

Какой способ докера сказать вам, что это OOM (недостаточно памяти).

Решать

Определите максимальное количество оперативной памяти, которое может использовать каждый контейнер. Я разрешил 4GB, но вы выбираете, что вам подходит.

version: '3.1'
services:
  es-write:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
    container_name: es-write
    environment:
      - discovery.type=single-node
    ports:
      - 9200:9200
    deploy:
      resources:
        limits:
          memory: 4GB  # Use at most 50 MB of RAM
  es-read:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
    container_name: es-read
    environment:
      - discovery.type=single-node
    ports:
      - 9201:9200
    deploy:
      resources:
        limits:
          memory: 4GB  # Use at most 50 MB of RAM

Спасибо Пауло за ваш ответ, работает как положено!

mikolaj semeniuk 17.05.2022 16:38

Это приятно слышать

Paulo 17.05.2022 16:38

Другие вопросы по теме