1. 拉取镜像
#elasticsearch 6.x和7.x版本有很多不一样需要确认
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.2
2. 启动容器
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.3.2
3. 修改配置
#进入docker容器内部
docker exec -it es /bin/bash
#打开配置文件
vim config/elasticsearch.yml
# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
4. 安装ik分词器
4.1 在线安装方式
注意:分词器的版本需要和elasticsearch版本对上
4.1.1 进入容器
docker exec -it es /bin/bash
4.2.2 执行安装命令
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.2/elasticsearch-analysis-ik-7.3.2.zip
4.2 离线安装方式
4.2.1 先下载ik分词器文件
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.2/elasticsearch-analysis-ik-7.3.2.zip
4.2.2 拷贝文件到docker容器
拷贝压缩包到容器中,加上本地分词器在/tmp/elasticsearch-analysis-ik-7.3.2.zip
docker cp /tmp/elasticsearch-analysis-ik-7.3.2.zip es:/usr/share/elasticsearch/plugins
4.2.3 进入容器
docker exec -it es /bin/bash
4.2.4 创建目录
mkdir /usr/share/elasticsearch/plugins/ik
4.2.5 将文件压缩包移动到ik中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.3.2.zip /usr/share/elasticsearch/plugins/ik
4.2.6 进入目录
cd /usr/share/elasticsearch/plugins/ik
4.2.7 解压
unzip elasticsearch-analysis-ik-7.3.2.zip
4.2.8 删除压缩包
rm -rf elasticsearch-analysis-ik-7.3.2.zip
5. 检查es是否安装成功
5.1 重启es
docker restart es
5.2 检查es是否可以访问
1) 在宿主机执行:curl http://localhost:9200/
2) 查看ik分词器是否被安装上
至此,已经完成了elasticsearch单节点的搭建,单节点的es一般用于联调或者测试环境,生产环境需要搭建集群化的elasticsearch,以保证服务的高可用。