尝试使用 docker-compose 获取 ELK 的工作版本(elastic search + kabana)

尝试使用 docker-compose 获取 ELK 的工作版本(elastic search + kabana)

因此,我花了 6 个小时来完成这项工作,并成功使其与 2 个单独的 docker 容器一起工作(我只需执行 docker pull kibana:7.3.2 和 docker pull elasticsearch:7.3.2)。标签似乎很重要,因为最新版本给了我一个错误...无论如何,我接着执行了 2 个单独的 docker run 命令,分别将端口 9200 和 5601 映射到 localhost:9200 和 localhost:5601。

似乎即使我在 kibana 的 docker run 中有一个 -e ELASTIC_SEARCH_URL =“127.0.0.1:9200”,它也无法正常工作,我不得不登录到正在运行的 kibana 容器并配置 kibana.yml 文件以手动指向 127.0.0.1:9200(弹性搜索)

docker run --name kibana -p 5601:5601 --link elasticsearch_container:0bf156df9385 -e "ELASTICSEARCH_URL=http://127.0.0.1:9200基巴那

长话短说,每次都这样做太耗时了,所以我最终找到了 docker-compose,我意识到我应该从一开始就使用它。所以我有以下 docker-compose.yml

version: '2'
services:
     elasticsearch:
       image: docker.elastic.co/elasticsearch/elasticsearch:7.3.2
       container_name: elasticsearch
       networks:
           docker-elk:

     kibana:
       image: docker.elastic.co/kibana/kibana:7.3.2
       container_name: kibana
       environment:
          - "ELASTICSEARCH_URL=http://elasticsearch:9200"
       networks:
          - docker-elk
       depends_on:
          - elasticsearch

networks:
  docker-elk:
    driver: bridge

现在,当我在与此文件相同的目录中运行 docker-compose up -d 时,它什么都没有给我...没有启动容器(我尝试使用 --versbose 标志运行 docker ps 和 docker-compose build...仍然什么都没有)。

我不确定我做错了什么,也不知道接下来该怎么做。我使用的是 Ubuntu 4.15,对 docker 的东西还很陌生。

答案1

尝试使用 docker-compose up(无 -d)。然后你可以看到问题的原因。如果问题是你得到以下错误 - 我遇到过 - 尝试向你的 elasticsearch 服务添加配置:

默认发现设置不适合生产使用;必须配置 [discovery.seed_hosts、discovery.seed_providers、cluster.initial_master_nodes] 中的至少一个

如果您处于测试环境中并且不需要 elasticsearch 集群,请使用以下命令:

environment:
      - discovery.type=single-node

相关内容