Docker安装elasticsearch7.17.10

一、下载docker

docker官网:https://hub.docker.com/_/elasticsearch/tags?page=1

Docker安装elasticsearch7.17.10 - 图1

  1. #拉取镜像
  2. docker pull elasticsearch:7.17.10
  3. #启动镜像
  4. docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.17.10

参数说明

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

二、查看是否在docker中安装并启动成功

这样说明安装并启动成功

Docker安装elasticsearch7.17.10 - 图2

三、测试是否能够正常访问

浏览器访问ip:9200 如果出现以下界面就是安装成功

Docker安装elasticsearch7.17.10 - 图3

五、安装elasticsearch-head

elasticsearch-head安装

  1. docker run -d --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

六、如果不能够正常访问Es,则用以下解决方案

问题原因:尝试连接easticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置

步骤一:修改docker中elasticsearch的elasticsearch.yml文件

  1. docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)
  2. vi config/elasticsearch.yml

步骤二:在最下面添加2行

  1. http.cors.enabled: true
  2. http.cors.allow-origin: "*"

Docker安装elasticsearch7.17.10 - 图4

步骤三:退出并重启服务

  1. exit
  2. docker restart 容器id

至此就大功告成了

七、安装IK中文分词器

这里采用离线安装

下载分词器压缩包:https://github.com/medcl/elasticsearch-analysis-ik

选择Es版本相应的分词版本

  1. #将压缩包移动到容器中
  2. docker cp /tmp/elasticsearch-analysis-ik-7.17.10.zip elasticsearch:/usr/share/elasticsearch/plugins
  3. #进入容器
  4. docker exec -it elasticsearch /bin/bash
  5. #创建目录
  6. mkdir /usr/share/elasticsearch/plugins/ik
  7. #将文件压缩包移动到ik中
  8. mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.17.10.zip /usr/share/elasticsearch/plugins/ik
  9. #进入目录
  10. cd /usr/share/elasticsearch/plugins/ik
  11. #解压
  12. unzip elasticsearch-analysis-ik-7.17.10.zip
  13. #删除压缩包
  14. rm -rf elasticsearch-analysis-ik-7.17.10.zip

退出并重启镜像