安装nginx
在mydata文件夹下创建一个nginx文件夹:
mkdir nginx
随便启动一个nginx实例,只是为了复制出配置:
docker run -p 80:80 --name nginx -d nginx:1.10

如下图可以看到启动好了nginx容器,当然这个容器我们只是为了用来复制它的配置文件:

进入到mydata文件夹,将容器内的配置文件拷贝到当前目录:
#复制容器nginx里边的/etc/nginx文件夹下的内容
docker container cp nginx:/etc/nginx .

停止掉nginx容器,删除nginx容器,因为已经复制好了,nginx容器就已经没有价值了:
docker stop nginx
docker rm nginx
配置都在nginx文件夹,这样不太规范,我们调整下给配置放在nginx/conf文件夹下:
cd /mydata
mv nginx conf
mkdir nginx
mv conf nginx/

创建一个新的nginx容器:
docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf:/etc/nginx \ -d nginx:1.10

那我们就安装7.4.2版本的ik分词器:

右键点击标红的地方,选择复制链接地址,就拿到了这个zip的下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
进入es容器内部的plugins目录,实际上并不需要,因为我们的es做了外部映射,映射到了如下这个目录:

进入plugins目录,创建一个ik文件夹: mkdir ik
进入ik文件夹, cd ik ,执行命令: wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip

下载完成后解压zip文件: unzip elasticsearch-analysis-ik-7.4.2.zip

删除安装包: rm elasticsearch-analysis-ik-7.4.2.zip

设置ik的文件夹权限为可读可写可执行: chmod -R 777 ik/

怎么看ik分词器是否安装成功呢
查一下elasticsearch的容器ID:

进入容器的elasticsearch的内部: docker exec -it c5d /bin/bash
输入命令: pwd
进入到plugins: cd plugins/ 可以看到里面也有我们在容器外部解压的ik文件夹映射过来
进入到elasticsearch的bin目录看一下可执行命令:

看到了有 elasticsearch-plugin ,可以试一下: elasticsearch-plugin list

这就说明安装成功了,安装成功后需要重启服务,退出容器(exit命令),重启服务:

测试ik分词器
打开kinaba发现遇到报错:

我们查一下kinaba的日志: docker logs d33

这就是ES的容量不够导致的熔断,导致Kibana连接ES连接不上,解决办法就是改大es的容内存容量
docker修改es容器的内存
# 先停止docker容器,再停止docker服务,停止docker服务命令如下
systemctl stop docker
service docker stop
# 找到容器的配置文件存储目录,此目录下是容器启动时的配置文件所在目录
cd /var/lib/docker/containers/
#进入es这个容器ID的文件夹
cd xxx/
# 修改配置文件config.v2.json
vim config.v2.json

修改最大内存:

修改后再启动服务启动容器:
# 启动docker服务
systemctl start docker
# 启动docker服务
service docker start
再打开Kibana就OK了。
测试ik_smart分词

测试ik_max_word分词
