Py学习  »  Elasticsearch

Elasticsearch/Kibana:Kibana无法恢复到ES http://localhost:9200的连接

bmw417 • 4 年前 • 707 次点击  

我试图创建Kibana和Elasticsearch,但Kibana似乎无法识别Elasticsearch。

以下是我的步骤:

1) 创建网络

docker network create mynetwork --driver=bridge

2) 运行Elasticsearch容器

docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch_2_4 --network mynetwork elasticsearch:2.4

3) 运行Kibana容器

docker run -i --network mynetwork -p 5601:5601 kibana:4.6

当我通过 http://localhost:9200/ 通过我的浏览器。

但当我打开 http://localhost:5601/ 我明白了

Unable to connect to Elasticsearch at http://elasticsearch:9200.

交替进近,

我在尝试的时候还是会犯同样的错误

docker run -d -e ELASTICSEARCH_URL=http://127.0.0.1:9200 -p 5601:5601 kibana:4.6

我从哪里得到错误

Unable to connect to Elasticsearch at http://127.0.0.1:9200.

我的博文基于接受的答案: https://gunith.github.io/docker-kibana-elasticsearch/

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51937
 
707 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Carlos Rafael Ramirez
Reply   •   1 楼
Carlos Rafael Ramirez    7 年前

测试:

docker run -d -e ELASTICSEARCH_URL=http://yourhostip:9200 -p 5601:5601 kibana:4.6

您可以使用主机ip或ifconfig中docker0标识的ip进行测试

当做

kogoia
Reply   •   2 楼
kogoia    6 年前

我更改了Kibana容器的网络配置,之后它工作正常:

Kitematic Kibana Settings[1]

Andreas Jägle
Reply   •   3 楼
Andreas Jägle    7 年前

关于什么有一些误解 localhost 127.0.0.1 指在容器内运行命令时。因为每个容器都有自己的网络, 本地服务器 不是真正的主机系统,而是容器本身。所以当你运行kibana并指向 ELASTICSEARCH_URL 变量到 localhost:9200 kibana进程将在kibana容器中查找elasticsearch,当然,它并没有在那里运行。

您已经引入了一些在启动容器时引用的自定义网络。在同一网络中运行的所有容器都可以通过其上的名称相互引用 expose d端口(请参阅停靠文件)。当你命名你的elasticsearch容器时 elasticsearch_2_4 ,您可以将elasticsearch的http端点引用为 http://elasticsearch_2_4:9200 .

docker run -d --network mynetwork -e ELASTICSEARCH_URL=http://elasticsearch_2_4:9200 -p 5601:5601 kibana:4.6

只要不需要直接访问elasticsearch实例,甚至可以省略将端口9200和9300映射到主机的操作。

我也建议使用 docker-compose 管理所有服务和参数。您还应该考虑将本地文件夹作为卷装入,以保留数据。这可能是你的写作文件。添加 networks ,如果需要外部网络,则此安装程序只为您创建一个网络。

version: "2"

services:

  elasticsearch:
    image: elasticsearch:2.4
    ports:
      - "9200:9200"
    volumes:
      - ./esdata/:/usr/share/elasticsearch/data/

  kibana:
    image: kibana:4.6
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200