Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

安装部署Elasticsearch

1. 下载Elasticsearch镜像

查看docker镜像版本
docker search elasticsearch

下载镜像
docker pull docker.io/library/elasticsearch:7.16.1

Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

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

Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

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

Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

安装部署Elasticsearch-head工具

1. 下载Elasticsearch-head镜像

下载镜像
docker pull mobz/elasticsearch-head:5

Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

2. 启动Elasticsearch-head容器

创建并启动容器
docker run --name es_head -p 9100:9100 -d mobz/elasticsearch-head:5

Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

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/107216347https://blog.csdn.net/qq_36357242/article/details/107997372https://www.cnblogs.com/WinterPasser/p/14203370.htmlhttps://blog.csdn.net/weixin_46316564/article/details/125440598https://www.icode9.com/content-4-1365103.html

Original: https://www.cnblogs.com/nhdlb/p/16551485.html
Author: 怒吼的萝卜
Title: Docker:Docker搭建Elasticsearch(配置用户密码)与Elasticsearch-head工具

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534777/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球