Docker部署es+kibana
官网是这样描述两者的关系的:
es
#es暴露的端口很多!
#es十分的耗内存!
#es的数据一般需要防止到安全目录!挂载
# --net somnetwork ? 网络配置
#启动 elasticsearch:7.6.2
$ docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
#启动过后报错
docker: Error response from daemon: network localhost not found.
#然后docker ps也找不到这个容器
#查看提示就知道 network 未创建 回到官网看漏了一个步骤
#创建用户定义的网络(用于连接到连接到同一网络的其他服务(例如 Kibana)):
$ docker network create somenetwork
#执行上述语句后再启动es即可
#为了限制es的占用内存 -e ES_JAVA_OPTS="-Xms64m -Xmx512m"
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
#查看占用内存
docker stats
#访问192.168.56.10:9200 测试成功
通过创建用户自定义网络,完成kibana与es的连接
#创建用户定义的网络(用于连接到连接到同一网络的其他服务(例如 Kibana)):
$ docker network create somenetwork
kibana
Dockerhub查找kibana
我的es是7.6.2版本的,因为怕版本冲突的原因,kibana我也选择7.6.2
安装步骤
#1、拉取kibana镜像 docker pull kibana:7.6.2
[root@bogon vagrant]# docker pull kibana:7.6.2
#2、启动kibana 连接elasticsearch
docker run --link elasticsearch:elasticsearch -d --name kibana --net somenetwork -p 5601:5601 kibana:7.6.2
#3、访问5601端口 进入kibana图形界面
http://192.168.56.10:5601/
Try our sample data
观看一些样本数据,可以在其中加载体验一下kibana的操作。我把示例数据都下载了,单击侧面导航中的 Discover 进入 Kibana 的数据探索功能:
可以看到数据已经导入了,我们可以直接使用查询栏编写语句查询
控制台插件提供一个用户界面来和 Elasticsearch 的 REST API 交互。控制台有两个主要部分: editor ,用来编写提交给 Elasticsearch 的请求; response 面板,用来展示请求结果的响应。在页面顶部的文本框中输入 Elasticsearch 服务器的地址。默认地址是:“主机IP:9200”。
点击左侧栏的[Dev Tools],可以看到如下界面,可以很方便地执行命令
Explore on my own
探索自己的数据,因为我es上没有数据,所以目前没有研究这一部分!
注意
#elasticsearch 和 kibana 要在同一网络下,否则会报错
docker: Error response from daemon: Cannot link to /elasticsearch, as it does not belong to the default network.
#因为之前我已经创建用户定义的网络(用于连接到连接到同一网络的其他服务(例如 Kibana)):
$ docker network create somenetwork
#所以在启动kibana的时候要连接上somenetwork这个网络才能与elasticsearch进行连接 即
--net somenetwork