安装部署Elasticsearch
1. 下载Elasticsearch镜像
# 查看docker镜像版本
docker search elasticsearch
# 下载镜像
docker pull docker.io/library/elasticsearch:7.16.1
2. 启动Elasticsearch容器
# 创建并启动容器
docker run -td --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -e "discovery.type=single-node" elasticsearch:7.16.1
3. 修改Elasticsearch配置信息
# 将配置文件从容器中复制到宿主机
docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml ./elasticsearch.yml
# 修改配置文件
vi elasticsearch.yml
修改文件内容如下:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# 配置远程访问
http.host: 0.0.0.0
# 因为elasticsearch与elasticsearch-head工具是前后端分离项目,所以需要处理跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
# 开启账户密码验证
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
# 将修改后的文件覆盖到容器内
docker cp ./elasticsearch.yml es:/usr/share/elasticsearch/config/elasticsearch.yml
# 重启elasticsearch
docker restart es
4. 设置用户的密码
# 进入容器内
docker exec -it es bash
# 设置elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user 这些用户的密码
bin/elasticsearch-setup-passwords interactive
安装部署Elasticsearch-head工具
1. 下载Elasticsearch-head镜像
# 下载镜像
docker pull mobz/elasticsearch-head:5
2. 启动Elasticsearch-head容器
# 创建并启动容器
docker run --name es_head -p 9100:9100 -d mobz/elasticsearch-head:5
3. 修改配置文件
elasticsearch-head调用方式默认为 application/x-www-form-urlencoded ,这种方式是编码后的传输方式,创建elasticsearch索引时会报错。
# 修改elasticsearch-head容器内的vendor.js文件
# 将文件复制到宿主机
docker cp es_head:/usr/src/app/_site/vendor.js ./vendor.js
# 修改6886、7574行( application/x-www-form-urlencoded 改成 application/json;charset=UTF-8 )
sed -i 's#application/x-www-form-urlencoded#application/json;charset=UTF-8#g' vendor.js
# 将改好的文件替换到容器内
docker cp ./vendor.js es_head:/usr/src/app/_site/vendor.js
# 重启容器
docker restart es_head
4. 查看是否成功
(Elasticsearch没设置密码时)访问地址:localhost:9100
(Elasticsearch设置密码时)访问地址:localhost:9100/?auth_user=elastic&auth_password=密码
5. Elasticsearch-head工具简单教程
https://www.cnblogs.com/nhdlb/p/16554001.html
文章整合至:https://blog.csdn.net/CSDN877425287/article/details/107216347、https://blog.csdn.net/qq_36357242/article/details/107997372、https://www.cnblogs.com/WinterPasser/p/14203370.html、https://blog.csdn.net/weixin_46316564/article/details/125440598、https://www.icode9.com/content-4-1365103.html