解决思路:
一开始在启动kibana时候在设置ELASTICSEARCH_HOSTS时多加了段http://,导致加载5601端口出现server is not ready yet问题
错误案列
docker run --name kibana -e
ELASTICSEARCH_HOSTS=http://http://本机ip:9200 -p
5601:5601 -d kibana:7.4.2
正确案列
docker run --name kibana -e
ELASTICSEARCH_HOSTS=http://本机ip:9200 -p
5601:5601 -d kibana:7.4.2
根据docker inspect kibana查看kibana镜像配置发现问题
docker inspect kibana
具体解决方案:
1、停止容器(id为镜像id,取前3位就好方便区分)
docker stop id
2、停止容器服务
service docker stop
3、修改 /var/lib/docker/containers/ID/config.v2.json 中的Env:ELASTICSEARCH_HOSTS对应的http://http://本机ip:9200
4、重启容器服务
service docker start
5、重启容器镜像
docker start id
建议设置开机自启动
docker update kibana --restart=always
再次访问http://ip:5601若依旧server is not ready yet
进入 Kibana 容器内部
#进入kibana容器
docker exec -it 容器名称 /bin/bash
#修改 kibana.yml 中的ip
cd config
vi kibana.yml
修改 kibana.yml 中的ip
#将上面的 "http://elasticsearch:9200" 中的 elasticsearch 替换成上一步的es容器内部ip就可以了
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
然后exit容器,重新启动即可 docker restart kibana容器id
借鉴原博主 小石潭记
动态修改docker容器环境变量https://www.cnblogs.com/tanyingling/p/15156854.html