解决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

问题解决:

相关推荐
搬运Gong几秒前
Dockerfile使用与最佳实践
docker·容器·虚悬镜像
小兔子酱#41 分钟前
【Docker 01】Docker 简介
运维·docker·容器
阿福不是狗6 小时前
Python使用总结之Mac安装docker并配置wechaty
python·macos·docker
咸鱼求放生8 小时前
es在Linux安装
大数据·elasticsearch·搜索引擎
藥瓿亭9 小时前
K8S认证|CKS题库+答案| 3. 默认网络策略
运维·ubuntu·docker·云原生·容器·kubernetes·cks
xyhshen9 小时前
k8s下离线搭建elasticsearch
elasticsearch·容器·kubernetes
背太阳的牧羊人11 小时前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash
gsls20080811 小时前
ocrapi服务docker镜像使用
运维·docker·容器
爱宇阳12 小时前
使用 Docker Compose 从零部署 TeamCity + PostgreSQL(详细新手教程)
docker·postgresql·容器
whp40412 小时前
windows server2019 不成功的部署docker经历
运维·docker·容器