docker 启动elasticsearch
docker pull elasticsearch:7.9.3
docker run -it --name elasticsearch -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v ~/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.9.3
docker 启动kibana
docker run -it -d -e ELASTICSEARCH_URL=http://127.0.0.1:9200 --name kibana --network=container:elasticsearch kibana:7.9.3
kibana配置问题
通过查看日志,发现了Error: No Living connections的问题
解决方法:将配置文件kibana.yml中的elasticsearch.url改为正确的链接,默认为: http://elasticsearch:9200
具体步骤如下:
首先我们查看 ElasticSearch 的容器内部 ip:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
然后进入 Kibana 容器内部,修改 kibana.yml 中的ip
-
$ docker exec -it kibana容器id /bin/bash
-
$ cd config
-
$ vi kibana.yml
-
#
-
# ** THIS IS AN AUTO-GENERATED FILE **
-
#
-
# Default Kibana configuration for docker target
-
server.name: kibana
-
server.host: "0"
-
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
-
xpack.monitoring.ui.container.elasticsearch.enabled: true
只需要将上面的 "http://elasticsearch:9200"
中的 elasticsearch
替换成上一步的es容器内部ip就可以了。
修改完成之后退出容器,重新启动即可 docker restart kibana容器id