1.部署es容器
由于es和ki下载的包太大,速度比较慢此处提供百度云地址,下载至本地,然后通过docker的load命令加载成镜像。
百度云下载镜像链接:链接:https://pan.baidu.com/s/1Baw32uBs_Vhul8U7C8apsQ
提取码:5f41
在安装前需要让es和kibana容器互联,需要创建网络
docker network create es-net
然后导入数据
# 导入数据
docker load -i es.tar
选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。
mkdir es_docker cd es_docker mkdir config logs plugins chmod -R 777 config logs plugins
进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容:
http.host: 0.0.0.0
由于是yml文件配置,所以host后面的冒号,必须空格后才能输入0.0.0.0。也就是后面的ip地址前面需要空格。
开始使用docker run启动容器,具体命令参考为:
docker run --name elasticsearch --privileged=true -p 9200:9200 -p 9300:9300 --net es-net --ip 172.18.0.2 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /home/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/es_docker/data:/usr/share/elasticsearch/data -v /home/es_docker/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.12.1
使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。
然后在浏览器访问localhost:9200,能正常看到一组json数据即为成功;
安装ik分词器(在线安装)
# 进入容器内部
docker exec -it elasticsearch /bin/bash
# 在线下载并安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
#退出
exit
#重启容器
docker restart elasticsearch
该链接下载到宿主机,然后在es的挂载目录/home/es_docker/plugins下新建一个ik文件夹,将下载下来的文件解压放入ik文件夹。然后重启容器即可;
2.安装kibana
在上一步中我们从百度云盘中下载了kibana的包,同样我们用load将其生成docker镜像
# 导入数据
docker load -i kibana.tar
先随便启动一个临时容器
docker run --name tempKibana -p 5601:5601 -d kibana:8.2.0
复制config文件夹中的文件到宿主机上
docker cp tempKibana:/usr/share/kibana/config /mydata/kibana
设置文件夹权限
chmod 777 /mydata/kibana/config/*
删除临时容器
docker rm -f tempKibana
在/mydata/kibana/config
下找到kibana.yml进行编辑,让kibana与启动的es连接,毕竟我们使用kibana就是为了可以类似Navicat
那样能操作MySQL。
然后用run 命令运行即可,需要注意的是需要绑定es的ip和端口,不然可能会出现找不到es的情况
docker run --name kibana --privileged=true -p 5601:5601 --net es-net -e ELASTICSEARCH_HOSTS=http://172.18.0.2:9200 -v /mydata/kibana/config:/usr/share/kibana/config -d kibana:7.12.1
访问kibana界面
http://ip地址:5601 此处ip直接输入宿主机ip,127.0.0.1可能没有效果