解决Kibana初始化失败报错: Unable to connect to Elasticsearch

现象:

原因: docker run生成容器的时候,指定elastic server时指向了localhost

为什么不能是localhost, 因为这个localhost指向的是容器本身的网络,而elastic用的是物理网络,两个网络是隔离的,所以如果kibana指向localhost:9200是没法访问到elastic的

解决办法: 生成docker容器时,将指向elastic server的ip指向宿主机的物理ip.

docker run -dt --name kibana-6.8.12 --restart=always -e ELASTICSEARCH_URL=http://192.168.10.82:9200 -p 5601:5601 kibana:6.8.12

或者使用docker-compose, 通过networks字段将两个容器绑定到同一个网络中

复制代码
version: '3'

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.8.12
    container_name: elasticsearch
    networks:
      - elastic-network
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node

  kibana:
    image: docker.elastic.co/kibana/kibana:6.8.12
    container_name: kibana
    networks:
      - elastic-network
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200

networks:
  elastic-network:
    driver: bridge

问题解决:

相关推荐
Elasticsearch5 小时前
Elastic 的托管 OTLP 端点:为 SRE 提供更简单、可扩展的 OpenTelemetry
elasticsearch
天上掉下来个程小白8 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
Yusei_05238 小时前
迅速掌握Git通用指令
大数据·git·elasticsearch
星霜笔记11 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
数据知道14 小时前
容器化部署:用Docker封装机器翻译模型与服务详解
docker·容器·机器翻译
敲上瘾20 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
伊成1 天前
Docker 部署 Nginx 完整指南
nginx·docker·容器
落日漫游1 天前
K8s核心组件全解析
运维·docker·运维开发
水无痕simon1 天前
5 索引的操作
数据库·elasticsearch
江湖有缘1 天前
【Docker项目实战】使用Docker部署Notepad轻量级记事本
docker·容器·notepad++