我在Windows10上使用Docker Desktop和linux容器,并希望通过docker组合文件启动最新版本的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文件。通过启动新的组合文件,一切正常,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文件中进行哪些更改?
发布于 2019-05-03 01:08:18
做一些改变对我来说很有效-
cluster.initial_master_nodes=elasticsearch
vm.max_map_count on cluster.initial_master_nodes添加到compose -environment中的elasticsearch服务- linux box内核设置$ sudo sysctl vm.max_map_count=262144 -w
对于开发模式,您也可以使用以下设置:
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节点/容器
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/docker.html#docker-cli-run-prod-mode
https://stackoverflow.com/questions/55956645
复制相似问题