В настоящее время я пытался использовать docker-compose для раскрутки нескольких контейнеров эластичного поиска, но все они развернуты на моей локальной машине.Каков будет процесс развертывания нескольких контейнеров на нескольких разных машинах с помощью Docker?
Я знаю, что рой Docker существует, но я не уверен, как использовать его вместе с Docker Compose, чтобы я раскручивал несколько узлов эластичного поиска, которые расположены в виртуальных машинах различий, которые я запускал.
Пока я знаю, что в конфигурационном файле elasticsearch.yml
мне нужно указать адреса виртуальной машины с помощью discovery.zen.ping.unicast.hosts: ["vm_ip1:9200", "vm_ip2:9200"]
, но я не уверен, как применить это изменение к создаваемым контейнерам докеров.Для раскручивания контейнеров я использовал пример файла docker-compose.yml, который показан в эластичном поиске docs
version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
container_name: elasticsearch
environment:
- cluster.name=elasticsearch
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
container_name: elasticsearch2
environment:
- cluster.name=elasticsearchr
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
- "index.number_of_shards: 2"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata2:/usr/share/elasticsearch/data
networks:
Пожалуйста, дайте мне знать, если понадобятся какие-либо дополнительные детали, спасибо!