Elasticsearch不会持久化数据,docker compose
我有这样的配置,我希望数据在重新启动时保持不变,但不,它不会发生,一切正常,但当我把麋鹿放下来和放上去时,它会空着,所有的仪表盘也会丢失 怎么了Elasticsearch不会持久化数据,docker compose,docker,
elasticsearch,docker-compose,kibana,elk,Docker,
elasticsearch,Docker Compose,Kibana,Elk,我有这样的配置,我希望数据在重新启动时保持不变,但不,它不会发生,一切正常,但当我把麋鹿放下来和放上去时,它会空着,所有的仪表盘也会丢失 怎么了 version: '3.3' services: logstash: container_name: logstash image: docker.elastic.co/logstash/logstash:6.7.0 command: bash -c 'bin/logstash -e "input { ht
version: '3.3'
services:
logstash:
container_name: logstash
image: docker.elastic.co/logstash/logstash:6.7.0
command: bash -c 'bin/logstash -e "input { http { port => 5044 } } filter { split {} csv { separator => \",\" columns => [\"Job\", \"BuildId\", \"Start\", \"Start_date\", \"Start_time\", \"Stop_time\", \"Stop_date\", \"Stop_time\", \"Execution_time\", \"Queue_time\", \"Executor\", \"Result\", \"Parent\", \"ChangeId\", \"Repo\", \"User\"] convert => { \"Start_time\" => \"date\" \"Stop_time\" => \"date\" } } mutate { convert => { \"Execution_time\" => \"float\" \"Queue_time\" => \"float\"}} date { match => [ \"Start time\", \"yyyy-MM-dd HH:mm:ss\" ] } } output { elasticsearch { hosts => [\"elasticsearch:9200\"] index => \"job-executions\" } }"'
networks:
- elastic-net
ports:
- 5044:5044
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0
environment:
- cluster.name=docker-cluster
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/root/elasticKibana/data
networks:
- elastic-net
ports:
- "9200:9200"
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:6.7.0
networks:
- elastic-net
driver: bridge
volumes:
esdata01:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/root/elasticKibana/data'
提前感谢弹性搜索,我认为您需要装载的容器路径是“/usr/share/elasticsearch/data”,而不是“/root/elasticKibana/data”。至少在我的掌舵图和docker compose中是这样的,因为我使用的是相同的图像。对于弹性搜索,我认为您需要装载的容器路径是“/usr/share/elasticsearch/data”,而不是“/root/elasticKibana/data”。至少在我的掌舵图和docker compose中是这样的,因为我使用的是相同的图像。简单地阅读,
/root/elasticKibana/data
看起来不是在容器中装入卷以持久保存数据的正确路径。它不应该是/usr/share/elasticsearch/data
?此外,docker compose文件似乎存在缩进问题。在我的计算机中,该路径不存在,我创建了它并修改了配置。所以这意味着数据仅持久化到/usr/share/elasticsearch/data?我的意思是,你不能决定把数据存储在哪里?你可以把数据存储在你的机器上任何你想要的地方。但是它通常必须安装到容器中的特定路径,除非您自定义并更改它,从您展示的示例中我可以看出,情况并非如此。啊哈,我的配置缺少什么?因为现在在容器重新启动之间没有数据被持久化。实际上,您的配置只是将数据卷装载到容器内的错误路径上,正如我在第一条评论中所报告的,其中包含一个指向您可能应该深入阅读的文档的链接。简要阅读,/root/elasticKibana/data
看起来不是在容器中装载卷以持久化数据的正确路径。它不应该是/usr/share/elasticsearch/data
?此外,docker compose文件似乎存在缩进问题。在我的计算机中,该路径不存在,我创建了它并修改了配置。所以这意味着数据仅持久化到/usr/share/elasticsearch/data?我的意思是,你不能决定把数据存储在哪里?你可以把数据存储在你的机器上任何你想要的地方。但是它通常必须安装到容器中的特定路径,除非您自定义并更改它,从您展示的示例中我可以看出,情况并非如此。啊哈,我的配置缺少什么?因为现在在容器重新启动之间没有数据被持久化。实际上,您的配置只是将数据卷装载到容器内的错误路径上,正如我在第一条评论中所报告的,其中包含一个指向您可能应该深入阅读的文档的链接。在我的计算机中,该路径不存在,我已经创建了它并修改了配置。所以这意味着数据仅持久化到/usr/share/elasticsearch/data?我的意思是,您无法决定将其存储在何处?您好,您可以决定主机/计算机上任何内容的目标。我指的是图像/容器中定义的源。你不能改变。啊哈,我的配置缺少什么?因为现在在容器重新启动之间没有数据被保存。将第22行,即“-esdata01:/root/elasticKibana/data”更改为“-esdata01:/usr/share/elasticsearch/data”。还请记住,目前您仅为Elasticsearch容器而不是Kibana保存数据,根据您的代码。在我的机器中,该路径不存在,我已创建并修改了配置。所以这意味着数据仅持久化到/usr/share/elasticsearch/data?我的意思是,您无法决定将其存储在何处?您好,您可以决定主机/计算机上任何内容的目标。我指的是图像/容器中定义的源。你不能改变。啊哈,我的配置缺少什么?因为现在在容器重新启动之间没有数据被保存。将第22行,即“-esdata01:/root/elasticKibana/data”更改为“-esdata01:/usr/share/elasticsearch/data”。同时请记住,根据您的代码,目前您仅为Elasticsearch容器而不是Kibana保存数据。