1、从dockehubr中查找elasticsearch,地址为Docker Hub

因为elasticsearch8以上版本需要输入账号与密码才可以登录,这里拉取 7.4.2版本

docker pull elasticsearch:7.4.2  

docker pull kibana:7.4.2

       kibana为可视化工具

2、加载容器准备工作

   

 docker network create es-net

   创建一个网络,让elasticsearch和kibana都加入这个网络中

    

mkdir -p /mydata/elasticsearch/data

  创建es的数据目录,用来挂载数据卷

   

mkdir -p /mydata/elasticsearch/plugins

  创建es的插件目录,用来挂载数据卷

   
 chmod -R 777 /mydata/elasticsearch/ 
保证权限

3、创建elasticsearch

docker run -d \
    --name elasticsearch \
    -e "ES_JAVA_OPTS=-Xms64m -Xmx256m" \
    -e "http.host=0.0.0.0" \
    -e "discovery.type=single-node" \
    -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    --network es-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:7.4.2

释义:

-e "ES_JAVA_OPTS=-Xms64m -Xmx256m":设置 ES 的初始内存和最大内存,否则导

致过大启动不了 ES
-e "http.host=0.0.0.0":监听的地址,可以外网访问
 -e "discovery.type=single-node":非集群模式
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data:绑定es的数据目录
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins:绑定es的插件目录
 --privileged:授予逻辑卷访问权
--network es-net :加入刚创建的es-net的网络
-p 9200:9200:端口映射配置
4、创建kibana
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.4.2

-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200:设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
--network=es-net :加入刚创建的es-net的网络 ,与elasticsearch为同一个网络
-p 5601:5601:端口映射配置
5、安装ik分词器:在github中找到与安装的elasticsearch版本相同的ik分词器
在/mydata/elasticsearch/plugins文件夹下创建一个ik的文件夹,通过cd命令进入ik文件夹
如果没有安装wget插件,通过yum install wget安装
以安装7.4.2版本为例,在ik文件夹下运行命令
wget   https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
下载完成,ik文件夹下就会有elasticsearch-analysis-ik-7.4.2.zip,这个压缩文件,通过unzip elasticsearch-analysis-ik-7.4.2.zip 命令解压该文件,解压成功后删除elasticsearch-analysis-ik-7.4.2.zip安装包
也可以直接本地下载zip文件,解压到ik文件夹下,再将ik文件夹传到mydata/elasticsearch/plugins文件夹下
docker 重启elasticsearch,分词器才会生效
docker restart elasticsearch

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐