Docker部署es+kibana

官网是这样描述两者的关系的:

kibana查看es集群状态的地址_kibana查看es集群状态的地址

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集群状态的地址_docker_02

kibana查看es集群状态的地址_docker_03

kibana查看es集群状态的地址_kibana查看es集群状态的地址_04

通过创建用户自定义网络,完成kibana与es的连接

#创建用户定义的网络(用于连接到连接到同一网络的其他服务(例如 Kibana)):
$ docker network create somenetwork

kibana

Dockerhub查找kibana

我的es是7.6.2版本的,因为怕版本冲突的原因,kibana我也选择7.6.2

kibana查看es集群状态的地址_docker_05

安装步骤

#1、拉取kibana镜像 docker pull kibana:7.6.2
[root@bogon vagrant]# docker pull kibana:7.6.2

kibana查看es集群状态的地址_kibana查看es集群状态的地址_06

 

#2、启动kibana 连接elasticsearch
docker run --link elasticsearch:elasticsearch -d --name kibana --net somenetwork -p 5601:5601 kibana:7.6.2

kibana查看es集群状态的地址_kibana查看es集群状态的地址_07

#3、访问5601端口 进入kibana图形界面
http://192.168.56.10:5601/

kibana查看es集群状态的地址_搜索引擎_08

Try our sample data

观看一些样本数据,可以在其中加载体验一下kibana的操作。我把示例数据都下载了,单击侧面导航中的 Discover 进入 Kibana 的数据探索功能:

kibana查看es集群状态的地址_大数据_09

可以看到数据已经导入了,我们可以直接使用查询栏编写语句查询

kibana查看es集群状态的地址_elasticsearch_10

控制台插件提供一个用户界面来和 Elasticsearch 的 REST API 交互。控制台有两个主要部分: editor ,用来编写提交给 Elasticsearch 的请求; response 面板,用来展示请求结果的响应。在页面顶部的文本框中输入 Elasticsearch 服务器的地址。默认地址是:“主机IP:9200”。
点击左侧栏的[Dev Tools],可以看到如下界面,可以很方便地执行命令

kibana查看es集群状态的地址_docker_11

kibana查看es集群状态的地址_搜索引擎_12

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