docker-compose.yml 用于 elasticsearch 7.0.1 和 kibana 7.0.1
docker-compose.yml for elasticsearch 7.0.1 and kibana 7.0.1
我在 Windows 10 上使用带有 linux 容器的 Docker 桌面,并希望通过 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 文件。
通过启动新的撰写文件,一切看起来都很好,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
...
必须在 docker-compose.yml 文件中更改哪些内容才能使 elasticsearch 7.0.1 正常工作?
进行一些对我有用的更改 -
在compose中的elasticsearch服务中添加cluster.initial_master_nodes
-
environment:
- cluster.initial_master_nodes=elasticsearch
vm.max_map_count
on the linux box内核设置至少需要设置为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 nodes/containers
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/docker.html#docker-cli-run-prod-mode
我在 Windows 10 上使用带有 linux 容器的 Docker 桌面,并希望通过 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 文件。 通过启动新的撰写文件,一切看起来都很好,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
...
必须在 docker-compose.yml 文件中更改哪些内容才能使 elasticsearch 7.0.1 正常工作?
进行一些对我有用的更改 -
在compose中的elasticsearch服务中添加
cluster.initial_master_nodes
-environment: - cluster.initial_master_nodes=elasticsearch
vm.max_map_count
on the linux box内核设置至少需要设置为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 nodes/containershttps://www.elastic.co/guide/en/elasticsearch/reference/7.0/docker.html#docker-cli-run-prod-mode