Конфликт между двумя Docker контейнерами разных изображений Elasticseach - PullRequest
0 голосов
/ 20 марта 2020

Я использую два различных Docker изображения Elasticsearch на двух разных проектах:

  • Проект 1: docker .elasti c .co /asticsearch /asticsearch: 6.8.6
  • Проект 2: docker .elasti c .co /asticsearch /asticsearch: 5.6.8

Это работает, но я заметил странное поведение, когда я запускаю один с версией 6.8.6 другой аварийно завершает работу:

f35d8b319ec0 docker.elastic.co/elasticsearch/elasticsearch:5.6.8   "/bin/bash bin/es-do…"   3 hours ago          Exited (137) Less than a second ago

При выполнении docker-compose up Docker пытается перезапустить его, но безуспешно (то же сообщение).

Теперь Если я сделаю composer down для другого проекта, тогда контейнер с версией 5.6.8 может снова работать:

f35d8b319ec0 docker.elastic.co/elasticsearch/elasticsearch:5.6.8   "/bin/bash bin/es-do…"   3 hours ago         Up 12 seconds (healthy)   9300/tcp, 0.0.0.0:9203->9200/tcp

Конечно, эти два контейнера пересылают Elasticsearch на два разных порта 9203 и 9209.

Я обнаружил что-то подозрительное при написании этого вопроса; оба контейнера используют один и тот же транспортный порт:

9300/tcp, 0.0.0.0:9209->9200/tcp
9300/tcp, 0.0.0.0:9203->9200/tcp

Может ли проблема возникнуть из-за этого параметра? И как это исправить?

1 Ответ

0 голосов
/ 22 марта 2020

Изменить привязку портов tcp к докерам

docker run -d --name elasticsearch1 --net somenetwork -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" elasticsearch:tag

docker run -d --name elasticsearch2 --net somenetwork -p 9202:9200 -p 9302:9300 -e "discovery.type=single-node" elasticsearch:tag

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...