Я пытаюсь запустить 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
Я полагаю, вы получаете известную ошибку <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
Это приятно слышать
Спасибо Пауло за ваш ответ, работает как положено!