准备工作
如果你的镜像源可以使用,可以跳过该步骤
配置/etc/docker/daemon.json文件
{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
重载配置
systemctl daemon-reload
重启docker
systemctl restart docker
拉取镜像源
重点重点重点:es,kibana,分词器必须一致
拉取es镜像
版本号自己选择。需要注意的是8.x版本默认使用的是https协议,访问的时候需要进行权限验证。
docker pull elasticsearch:7.6.1
拉取kibana镜像
docker pull kibana:7.6.1
查看镜像列表
docker images
安装elasaticsearch
因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:
docker network create es-net
创建相应的挂载目录
mkdir /opt/es
mkdir /opt/es/data
mkdir /opt/es/plugins
data目录授权
chmod 777 /opt/es/data
启动es容器
docker run -d \
--name es \
--restart always \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "cluster.name=search-prod" \
-e "node.name=prod-data-1" \
-e "discovery.type=single-node" \
-v /opt/es/data:/usr/share/elasticsearch/data \
-v /opt/es/plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.6.1
在浏览器中访问http://ip:9200
,看到类似下图结果,说明es启动成功。
安装kibana
启动kibana容器
docker run -d \
--name kibana \
--restart always \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.6.1
访问http://ip:5601
在DevTools中使用GET /
,看到下图结果,说明kibana启动成功
安装ik分词器
访问官网,下载自己需要的版本
下载完后解压缩,将ik分词器文件夹放到插件目录下
配置ik分词器插件目录和文件访问权限
chmod -R 755 /opt/es/plugins/analysis-ik/config
chmod 644 /opt/es/plugins/analysis-ik/config/*.dic
chmod 644 /opt/es/plugins/analysis-ik/config/IKAnalyzer.cfg.xml
重启es容器
docker restart es
截止到这一步已经可以正常使用ik分词器的正常功能。
配置ik分词器的自定义字典
修改ik分词器配置文件 /opt/es/plugins/analysis-ik/config/IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">ext.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic</entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
创建自己的扩展字典和停用字典文件,如果有就不需要创建。
在ext.dic中配置自定义词典,stopword.dic中配置停用词典。
注意:一行只能写一个词
重启es容器
docker restart es
测试分词器是否配置完成