【问题标题】:The Kibana data has been lost while down the docker-composeKibana 数据在 docker-compose 关闭时丢失
【发布时间】:2020-03-10 00:17:54
【问题描述】:

我正在使用 elk docker 映像并使用下面的 docker-compose 文件来启动 ELK 容器并将数据存储在卷中。

  version: '3.5'

   services:

   elasticsearch:
    build:
      context: elasticsearch/
    volumes:
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
    ports:
      - "9200:9200"
      - "9300:9300"
     environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
     networks:
      - elk

   logstash:
    build:
      context: logstash/
    volumes:
      - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
      - ./logstash/pipeline:/usr/share/logstash/pipeline:ro
    ports:
      - "5000:5000"
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk
    depends_on:
      - elasticsearch

   kibana:
    build:
      context: kibana/
    volumes:
      - ./kibana/config/:/usr/share/kibana/config:ro
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

 networks:

  elk:
    driver: bridge

Kibana 6.6.0 版

我使用以下命令启动:

docker-compose up -d

观察到所有三个容器都已启动并运行,我可以将我的数据发布到 kibana 并且可以可视化。

我刚刚遇到了关闭此撰写文件并启动的情况。但是当我执行该活动时,所有早期的 kibana 数据都已丢失。

docker-compose down

有什么方法可以将这些记录永久存储在机器中(Linux 机器中的某些位置)作为备份其他任何数据库?

请帮帮我。

【问题讨论】:

    标签: docker elasticsearch logstash kibana elastic-stack


    【解决方案1】:

    您必须将 elasticsearch 数据目录 (/usr/share/elasticsearch/data) 移动到永久 docker 卷中,如下所示:

      elasticsearch:
        build:
          context: elasticsearch/
        volumes:
          - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
          - ./es_data:/usr/share/elasticsearch/data
        ports:
          - "9200:9200"
          - "9300:9300"
         environment:
          ES_JAVA_OPTS: "-Xmx256m -Xms256m"
         networks:
          - elk
    

    【讨论】:

    • 它会永远保留数据吗?即使我关闭 docker 也不会丢失数据吗?
    • @ArrchanaMohan 当您在 docker 中使用 volume 语句时,本地文件夹(示例中为 ./es_data)将被挂载到您的 docker 容器中。所有正在写入的数据都将保留在主机上,而不是在 docker 中。所以它不会在 docker restart 之后丢失(甚至在你的主机重启之后)。检查此docs.docker.com/storage 了解更多信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 2018-06-28
    • 1970-01-01
    • 2018-12-11
    相关资源
    最近更新 更多