Docker部署ElasticSearch7

前言

帮助小伙伴快速部署研发或测试环境进行学习测试。springboot版本需要与ElasticSearch版本想对应,不同版本api不一致,会产生异常调用的情况。

一、拉取镜像

这里选择固定版本7.15.2

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.2

二、创建容器

docker run \
--name es \
--privileged=true \
-p 9200:9200 \
-p 9300:9300 \
-v /mydata/es/config:/usr/share/elasticsearch/config \
-v /mydata/es/data:/usr/share/elasticsearch/data \
-v /mydata/es/plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-d docker.elastic.co/elasticsearch/elasticsearch:7.15.2

查看运行中容器

docker ps 


此时应该会启动失败也可以查看容器日志

docker logs -f es

为挂载目录授权

chmod 777 /mydata/es/config
chmod 777 /mydata/es/data
chmod 777 /mydata/es/plugins

三、复制配置文件到挂载目录

启动临时容器

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.15.2

复制配置文件到挂载目录

docker cp elasticsearch:/usr/share/elasticsearch/config /mydata/es

停止、删除临时容器

docker stop elasticsearch
docker rm -f elasticsearch

四、启动容器

docker start es

访问测试:http://ip:9200

五、开启跨域

此时采用ElasticSearch-Head 远程访问 ElasticSearch服务会因跨域问题而失败,

vi  /mydata/es/config/elasticsearch.yml

 添加以下内容:

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

重启容器:

docker restart es

六、添加ik分词器

下载ik分词器,ik分词器的版本一定要和ElasticSearch版本一致。

分词器历史版本下载地址:Releases · medcl/elasticsearch-analysis-ik · GitHub

将下载的elasticsearch-analysis-ik-7.15.2.zip文件拷贝至/mydata/es/plugins目录

解压缩

unzip elasticsearch-analysis-ik-7.15.2.zip -d ./elasticsearch-analysis-ik
删除elasticsearch-analysis-ik-7.15.2.zip原文件,不然容器启动会报错

rm -rf elasticsearch-analysis-ik-7.15.2.zip


 重启容器

docker restart es

查看容器是否启动成功

docker ps

 Docker部署ElasticSearch7_第1张图片
关注公众号”小猿架构“,发送 "数据湖" 免费获取 38页 数据湖建设方案。

 

Docker部署ElasticSearch7_第2张图片

 

 
 

你可能感兴趣的:(docker,容器,elasticsearch)