elasticsearch Windows中带docker compose的Elasticsearch群集,elasticsearch,docker-compose,elasticsearch,Docker Compose" /> elasticsearch Windows中带docker compose的Elasticsearch群集,elasticsearch,docker-compose,elasticsearch,Docker Compose" />

elasticsearch Windows中带docker compose的Elasticsearch群集

elasticsearch Windows中带docker compose的Elasticsearch群集,elasticsearch,docker-compose,elasticsearch,Docker Compose,我正在Windows中使用Docker 17.04.0-ce和Compose 1.12.0 我想创建一个由3个Elasticsearch节点组成的集群(都在同一IP上,但在不同端口上)。我使用的图像是:docker.elastic.co/elasticsearch/elasticsearch:5.4.0 当我编写下面的yml并检查Cerbero中的状态时,我发现实际上没有形成集群(每个节点都看不到其他节点)。 你知道问题出在哪里吗 version: '2' services: elast

我正在Windows中使用Docker 17.04.0-ce和Compose 1.12.0

我想创建一个由3个Elasticsearch节点组成的集群(都在同一IP上,但在不同端口上)。我使用的图像是:docker.elastic.co/elasticsearch/elasticsearch:5.4.0

当我编写下面的yml并检查Cerbero中的状态时,我发现实际上没有形成集群(每个节点都看不到其他节点)。 你知道问题出在哪里吗

version: '2'

services:

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
    container_name: es_1
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - cluster.name=cp-es-cluster
      - node.name=cloud1
      - http.cors.enabled=true
      - http.cors.allow-origin="*"
      - network.host=0.0.0.0
      - discovery.type=zen
      - network.publish_host=192.168.99.100
      - discovery.zen.minimum_master_nodes=1
      - xpack.security.enabled=false
      - xpack.monitoring.enabled=false
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g -XX:-AssumeMP"
    networks:
      - docker_elk

  elasticsearch_2:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
    container_name: es_2
    ports:
      - "9201:9200"
      - "9301:9300"
    links:
      - elasticsearch
    environment:
      - cluster.name=cp-es-cluster
      - node.name=cloud2
      - http.cors.enabled=true
      - http.cors.allow-origin="*"
      - network.host=0.0.0.0
      - discovery.type=zen
      - "discovery.zen.ping.unicast.hosts=192.168.99.100:9200"
      - network.publish_host=192.168.99.100
      - discovery.zen.minimum_master_nodes=1
      - xpack.security.enabled=false
      - xpack.monitoring.enabled=false
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g -XX:-AssumeMP"
    networks:
      - docker_elk

  elasticsearch_3:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
    container_name: es_3
    ports:
      - "9202:9200"
      - "9302:9300"
    links:
      - elasticsearch
    environment:
      - cluster.name=cp-es-cluster
      - node.name=cloud3
      - http.cors.enabled=true
      - http.cors.allow-origin="*"
      - network.host=0.0.0.0
      - discovery.type=zen
      - "discovery.zen.ping.unicast.hosts=192.168.99.100:9200"
      - network.publish_host=192.168.99.100
      - discovery.zen.minimum_master_nodes=1
      - xpack.security.enabled=false
      - xpack.monitoring.enabled=false
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g -XX:-AssumeMP"
    networks:
      - docker_elk

  cerebro:
    image: yannart/cerebro:0.6.5
    container_name: cerebro
    networks:
      - docker_elk
    ports:
      - "9000:9000"
    depends_on:
      - elasticsearch

networks:
  docker_elk:
    driver: bridge

elasticsearch和Cerbero文件夹中有什么?Cerbero的ES/conf的Dockerfile+sh脚本。相应的DockerFile使用正确的图像并简单地将这些文件复制到图像中。这很酷,但您是否意识到,如果不访问这些文件,就很难解决您的问题,对吗?很公平。我通过直接使用图像而不是自定义构建来重试该场景,得到了相同的结果。我更新了问题描述中的yml,因此您可以检查此问题。现在不涉及其他文件。很好,谢谢。这让我们走到了某个地方——我还不知道确切的原因,但es_1在启动完成后会退出——因为他是主节点,所以它阻止了其他节点被发现。