因此,我花了 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