docker 安装ElasticSearch
1、拉取docker镜像
docker pull elasticsearch:7.12.1
2、创建所需文件夹
#1、创建Elasticsearch配置文件夹
mkdir -p /volume1/docker/elasticsearch/config
#2、创建Elasticsearch数据文件夹
mkdir -p /volume1/docker/elasticsearch/data
#3、创建Elasticsearch插件文件夹(如:ik)
mkdir -p /volume1/docker/elasticsearch/plugins
#说明:目的将CentOS本地的文件夹映射到Elasticsearch容器,以实现容器数据的持久化到CentOS本地,以及通过CentOS本地文件夹内容的修改同步到容器
创建并写入elasticsearch.yml配置,注意:http.host: 0.0.0.0 冒号后有一空格
echo "http.host: 0.0.0.0" >>/volume1/docker/elasticsearch/config/elasticsearch.yml
3、文件夹赋权
chmod -R 777 /volume1/docker/elasticsearch/
4、命令启动
docker run --name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v /volume1/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /volume1/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /volume1/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.12.1
参数说明
--name elasticsearch:将Elasticsearch容器命名为 elasticsearch
-p 9200:9200:将容器的9200端口映射到宿主机9200端口
-p 9300:9300:将容器的9300端口映射到宿主机9300端口,目的是集群互相通信
-e "discovery.type=single-node":单例模式
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小
-v /volume1/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:将配置文件挂载到宿主机
-v /volume1/docker/elasticsearch/data:/usr/share/elasticsearch/data:将数据文件夹挂载到宿主机
-v /volume1/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins:将插件目录挂载到宿主机(需重启)
-d elasticsearch:后台运行容器,并返回容器ID
5、验证是否成功
说明:安装完后,通过如下指令查看elasticsearch是否安装成功
curl http://localhost:9200
安装成功显示图.png
附件
1、安装IK分词器(中文分词器)
1、进入docker容器内部
docker exec -it elasticsearch /bin/bash
2、在线下载并安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
3、退出容器
exit
4、重启容器
docker restart elasticsearch