Elasticsearch不持久化数据,docker-compose

问题描述

我有此配置,我希望数据在重新启动后保持不变,但是不,它不会发生,一切正常,但是当我将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 { http { port => 5044 } } filter { split {} csv { separator => \",\" columns => [\"Job\",\"BuildId\",\"Start\",\"Start_date\",\"Start_time\",\"Stop_time\",\"Stop_date\",\"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'

预先感谢

解决方法

对于Elastic search,我认为您需要安装的容器PATH是“ / usr / share / elasticsearch / data”而不是“ / root / elasticKibana / data”。至少在我的掌舵图和docker-compose中应该是这样,因为我使用的是同一张图片。