Docker安装elasticsearch

437 阅读2分钟

一、版本选择

image.png

版本选择地址

版本选择最好参照官网的版本来,这里我的版本是SpringBoot2.3x,所以下面的安装操作都是基于 Elasticsearch7.6.2安装(避免不必要的错误)

二、安装elasticsearch

1、 执行 docker pull elastcisearch:7.6.2 拉取镜像

2、 执行 docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.6.2

--name 表示容器名称 
-d: 后台运行容器,并返回容器ID; 
-e: 指定容器内的环境变量 
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

3、访问IP + 9200端口查看是否安装成功

4、进入容器 docker exec -it elasticsearch /bin/bash

5、修改config/elasticsearch.yml文件

 这里使用vim elasticsearch.yml可能提示没这个命令
 执行 yum -y install vim
 加入
    http.cors.enabled: true
    http.cors.allow-origin: "*" 
 解决跨域问题

6. 重启 docker restart elasticsearch

image.png

二、安装Elasticsearch-head

1、 执行 docker pull mobz/elasticsearch-head:5 拉取镜像

2、 执行 docker run -d --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

3、 执行 docker exec -it elasticsearch-head /bin/bash 进入容器

4、 修改配置文件,进入到_site目录下vim vendor.js文件编辑,这里可能提示vim unknow错误,执行apt-get update命令,再执行apt-get install vim命令就好了

  修改文件第68867574行,将"application/x-www-from-urlencodes"修改为"application/json;charset=UTF-8"  使用6886gg命令跳转到指定行

5、exit退出容器,然后重启 docker restart elasticsearch-head

image.png

三、安装IK分词器

1、 进入elasticsearch容器 docker exec -it elasticsearch /bin/bash

2、 拉取指定版本的IK分词器

   wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

3、在plugins文件夹下创建ik文件夹 mkdir ik

4、将elasticsearch-analysis-ik-7.6.2.zip解压到ik文件夹下 unzip elasticsearch-analysis-ik-7.6.2.zip -d ik

image.png

5、删除elasticsearch-analysis-ik-7.6.2.zip文件 重启elasticsearch

四、安装Kaniba

1、拉取镜像 docker pull docker.io/kibana:7.6.2 版本也要与elasticsearch一致

2、查看容器elasticsearch IP 命令 docker inspect [container name] 值为IPAddress的IP

3、安装容器 docker run -it -d -e ELASTICSEARCH_URL=http://ip:9200 --name kibana --restart=always -p 5601:5601 kibana:7.6.2

4、以root权限进入容器 docker exec -u 0 -it kibana /bin/bash

5、 安装vim --- yum -y install vim

6、修改kibana.yml下的文件改为刚才查到elasticsearch的IP

image.png

7、重启 访问ip+5601 image.png