按照教程,elasticsearch 和 kibana 容器都起了,但是访问 http//localhost:5601,一直只有冰冷的几个字母:

Kibana server is not ready yet

docker logs kibana打印日志,报错:

{"type":"log","@timestamp":"2020-06-04T08:25:57Z","tags":["warning","elasticsearch","admin"],"pid":6,"message":"Unable to revive connection: http://172.17.0.2:9200/"}
{"type":"log","@timestamp":"2020-06-04T08:25:57Z","tags":["warning","elasticsearch","admin"],"pid":6,"message":"No living connections"}

容器 ip 是没问题的,es 服务也确实起了,为什么呢??这个问题花了我大半天的时间,找遍了网上的教程都, 翻了官网上kibana手册,都没有相关的记录

只能自己摸索

进入kibana容器中

docker exec -it kibana /bin/bash
bash-4.2$ ping 172.17.0.2    #没有问题,能ping通
...
bash-4.2$ curl http://120.79.43.44:9200
curl: (7) Failed connect to 120.79.43.44:9200; No route to host

问题就出在这里!容器之间无法进行通信,猜测是防火墙的问题,再单独搜索这个问题,找到了解决的方案

依次执行以下命令

nmcli connection modify docker0 connection.zone trusted

systemctl stop NetworkManager.service

firewall-cmd --permanent --zone=trusted --change-interface=docker0

systemctl start NetworkManager.service

nmcli connection modify docker0 connection.zone trusted

systemctl restart docker.service

即把 docker0 加入防火墙白名单

重新启动容器,访问地址 http://localhost:5601 ,显示正在加载 kibana 图像,总算没有了 Kibana server is not ready yet

posted on 2020-06-04 17:29  tianxiafeiyu  阅读(1212)  评论(0编辑  收藏  举报