elasticsearch,docker-compose,kibana,Docker,elasticsearch,Docker Compose,Kibana" /> elasticsearch,docker-compose,kibana,Docker,elasticsearch,Docker Compose,Kibana" />

用于elasticsearch 7.0.1和kibana 7.0.1的docker-compose.yml

用于elasticsearch 7.0.1和kibana 7.0.1的docker-compose.yml,docker,elasticsearch,docker-compose,kibana,Docker,elasticsearch,Docker Compose,Kibana,我正在Windows 10上使用Docker Desktop和linux容器,并希望通过Docker compose文件启动elasticsearch和kibana容器的最新版本 使用一些旧版本(如6.2.4)时,一切正常 这是适用于6.2.4的docker-compose.yml文件 version: '3.1' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4

我正在Windows 10上使用Docker Desktop和linux容器,并希望通过Docker compose文件启动elasticsearch和kibana容器的最新版本

使用一些旧版本(如6.2.4)时,一切正常

这是适用于6.2.4的docker-compose.yml文件

version: '3.1'

services:

  elasticsearch:
   image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
   container_name: elasticsearch
   ports:
    - "9200:9200"
   volumes:
    - elasticsearch-data:/usr/share/elasticsearch/data
   networks:
    - docker-network

  kibana:
   image: docker.elastic.co/kibana/kibana:6.2.4
   container_name: kibana
   ports:
    - "5601:5601"
   depends_on:
    - elasticsearch
   networks:
    - docker-network

networks:
  docker-network:
    driver: bridge

volumes:
  elasticsearch-data:

我删除了所有已安装的docker容器,并通过将6.2.4更改为7.0.1修改了docker-compose.yml文件。 通过启动新的compose文件,一切看起来都很好,elasticsearch和kibana容器都启动了。但几秒钟后,elasticsearch容器退出(kibana容器正在进一步运行)。我重新启动了所有程序,将终端连接到elasticsearch容器,并看到以下错误消息:

...
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
...

要使elasticsearch 7.0.1正常工作,docker-compose.yml文件中必须更改哪些内容?

做一些更改对我来说很有效-

  • 添加
    集群。在compose-

    environment:
      - cluster.initial_master_nodes=elasticsearch
    
  • linux box内核上的vm.max\u map\u count设置需要至少设置为262144-

    $ sudo sysctl -w vm.max_map_count=262144
    
对于开发模式,您也可以使用以下设置-

    environment:
      - discovery.type=single-node
正在为我编写文件-

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
    container_name: es01
    environment:
      - cluster.initial_master_nodes=es01
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200
对于生产模式,您必须考虑在官方文档

中建议有多个ES节点/容器。

谢谢您提供的信息。Elasticsearch和Kibana7.0.1容器在向环境中添加“cluster.initial_master_nodes”行后,现在正在运行。但是kibana不能再访问elasticsearch了。以下是kibana错误消息:
{“type”:“log”,“@timestamp”:“2019-05-03T08:49:43Z”,“tags”:[“warning”,“elasticsearch”,“admin”],“pid”:1,“message”:“无法恢复连接:http://elasticsearch:9200/}{“类型”:“日志”,“时间戳”:“2019-05-03T08:49:43Z”,“标记”:[“警告”,“弹性搜索”,“管理”],“pid”:1,“消息”:“无活动连接”}
忘了说我没有在linux容器中设置“vm.max\u map\u count”参数。我正在使用Windows 10上的docker desktop,如何设置此参数?
discovery.type=single node
对我有帮助,从
docker compose运行ES进行本地开发。