Docker拉取镜像

获取ElasticSearch本体镜像

1
2
# 安装需要的版本
docker pull elasticsearch:8.1.2

获取Kibana镜像(可视化管理工具,不是必须的)

1
2
# 安装与ES对应的版本
docker pull kibana:8.1.2

Docker启动命令

1
2
3
4
# Elasticsearch启动
# 可以加上 -e "discovery.type=single-node" 设置ES的单节点开发模式,学习阶段加上可以省去很多配置
# -v 是用来添加本地目录映射
docker run --name elasticsearch -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v G:\编程环境软件\elasticsearch-data\node1:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 elasticsearch:8.1.2
1
2
3
# Kibana启动
# ELASTICEARCH_HOST参数输入对应的ES的ip+端口
docker run --name kibana -e ELASTICEARCH_HOST=http://127.0.0.1:9200 -p 5601:5601 kibana:8.1.2

ES配置文件

在启动完成ES之后,进入容器内部

1
docker exec -it elasticsearch /bin/bash

使用vi工具打开config目录下elasticsearch.yml文件,按需修改

1.png

PS:首次学习接触ES,docker部署完成后访问127.0.0.1:9200端口发现获取不到值,可以将ES配置文件中的 xpack.security.enrollment.enabled: true 设置为false,关闭安全验证,就可以访问了,否则,需要设置ES账号密码

ES设置账号密码

首先按上文提到的进入到es的config目录下找到elasticsearch.yml文件修改添加以下配置

1
2
3
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

修改完成后重启docker容器,在启动完成ES之后,进入容器内部

1
2
3
4
5
# 进入容器内部
docker exec -it elasticsearch /bin/bash

# 输入该指令
./bin/elasticsearch-setup-passwords interactive

2.png

按提示全部输入完密码之后,密码就设置完了

账号默认为:elastic

IK分词器安装

IK分词器是一种开源好用的中文分词工具,结合elasticsearch使用

1
2
3
4
5
6
7
8
9
# 在线安装	注意版本和ES对应
#进入容器内部
docker exec -it elasticsearch /bin/bash
#在线下载并安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.1.2/elasticsearch-analysis-ik-8.1.2.zip
#退出
exit
#重启容器
docker restart elasticsearch