Я установил 2 Docker-контейнера Elasticsearch дома в кластере Docker. Он предоставляет порт 9200
для общего доступа, поэтому мой http://<home-ip>:9200
может получить к нему доступ. У меня есть другой экземпляр Elasticsearch, размещенный в док-контейнере в моем офисе, к которому может обратиться http://<office-ip>:9200
, как я могу присоединить этот узел к докер-кластеру, расположенному дома?
Моя попытка настроить файл docker-compose.yml
в офисе, я считаю, что файл конфигурации хоста должен также включать <office-ip>
? Но я не уверен, должен ли он быть включен в конфигурацию обоих узлов?
cloud01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
container_name: cloud01
environment:
- node.name=cloud01
- discovery.seed_hosts=<home-ip>
- cluster.initial_master_nodes=<home-ip>,cloud01
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms500m -Xmx500m"
- http.cors.enabled=true
- http.cors.allow-origin=*
ulimits:
memlock:
soft: -1
hard: -1
Вот мой docker-compose.yml
из дома
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
container_name: es01
environment:
- node.name=es01
- discovery.seed_hosts=es02
- cluster.initial_master_nodes=es01,es02
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
- http.cors.enabled=true
- http.cors.allow-origin=*
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
container_name: es02
environment:
- node.name=es02
- discovery.seed_hosts=es01
- cluster.initial_master_nodes=es01,es02
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
- http.cors.enabled=true
- http.cors.allow-origin=*
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata02:/usr/share/elasticsearch/data
networks:
- esnet