解决docker报Unable to connect to Elasticsearch at http://elasticsearch:9200和Unable to revive connection

在部署Elasticsearch和Kibana时遇到无法连接的问题,尝试了将Elasticsearch的IP设置为127.0.0.1、与Elasticsearch配置文件中的network.host一致以及使用docker内部IP,但均未成功。最后通过修改Kibana配置文件中的Elasticsearch URL为实际IP,并确保Kibana版本与Elasticsearch匹配,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决docker报Unable to connect to Elasticsearch at http://elasticsearch:9200和Unable to revive connection: http://elasticsearch:9200/

当我们兴高采烈的下载好Elasticsearch并且把Kibana安装好之后,在浏览器上输入ip地址:6501却出现如下情景:

在这里插入图片描述

这还真的欲哭无泪,然后就在网上找办法,以下是最常见的3种:

第一种

将ElasticSearch的ip改成127.0.0.1localhost

docker run -it -d -e ELASTICSEARCH_URL=http://127.0.0.1:9200 --name kibana_es -p 5601:5601 kibana

第二种

将ip设为与ElasticSearch配置文件中network.host的值一致:

  • 进入ElasticSearch容器

    docker exec -it elasticsearch /bin/bash
    
  • 查看配置文件

    cd config/
    
  • 编辑配置文件

    vim elasticsearch.yml
    
  • 添加如下配置信息

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    network.host:  ip#具体的ip要根据自己的情况来定,此处是本人虚拟机的ip
    
  • 创建Kibana容器

    docker run -it -d -e ELASTICSEARCH_URL=http://ip:9200 --name kibana_es -p 5601:5601 kibana
    

第三种

  • 进入ES容器

    docker exec -it elasticsearch /bin/bash
    
  • 查看ip(docker内部局域网的ip)

    cat /etc/hosts
    

    我们将看到下面的内容:
    在这里插入图片描述

    我们可以知道es容器在docker中的ip是172.17.0.3

  • 接下来就可以根据这个ip来创建容器啦

    docker run -it -d -e ELASTICSEARCH_URL=http://172.17.0.3:9200 --name kibana -p 5601:5601 kibana
    

好巧不巧,上面三种方法都对我无效,我就自己摸索,下面是我自己的方法:

自己的办法

  • 先进入kibana容器

    docker exec -it kibana /bin/bash
    
  • 修改kibana的配置文件

    注:如果没有vim,下载即可

    vim /etc/kibana/kibana.yml
    

    进入之后,把elasticsearch.url后面的elasticsearch:9200改为自己的ip:9200

当启动之后,却报了

This version of Kibana requires Elasticsearch v5.6.12 on all nodes. I found the following incompatible nodes in your cluster: v7.10.1 @ 127.0.0.1:9200 (127.0.0.1)

这是应为我的elasticsearch版本为7.10.1。但是kibana的版本确实lastest。这里不知什么原因帮我选到了5.6.12,因此,我们只需要把现在的容器删除,选择与elasticsearch对应的版本即可。

接下来就是重新创建容器:

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的ip地址:9200 -p 5601:5601 -d kibana:7.10.1

这时,回去打开网页,就会发现界面已经出来了。

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值