Удаленно присоединитесь к кластеру Elasticsearch, который размещен в контейнере Docker - PullRequest
0 голосов
/ 17 мая 2019

Я установил 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
...