[ES]docker安装elasticsearch和elasticsearch-head

文章目录

  • 前言
  • 一、elasticsearch安装
  • 二、elasticsearch-head安装

前言

操作系统:centos
es dockerhub:https://hub.docker.com/_/elasticsearch

一、elasticsearch安装

1.拉取镜像

docker pull elasticsearch:7.14.2

[ES]docker安装elasticsearch和elasticsearch-head_第1张图片
必须加上版本号
在这里插入图片描述
2.运行镜像
-d后台运行 -e环境变量配置-Xms/ -Xmx最小/大堆内存,默认2g,有条件还是尽量大

docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.14.2

在这里插入图片描述
3.测试安装
浏览器访问ip地址:9200,记得开启防火墙规则
[ES]docker安装elasticsearch和elasticsearch-head_第2张图片
安装成功

二、elasticsearch-head安装

如果将es类比数据库,这个就相当于es的navicat
1.拉取镜像

docker pull mobz/elasticsearch-head:5

2.启动

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

3.测试连接
浏览器访问,ip地址:9100
connect那行输入es地址
[ES]docker安装elasticsearch和elasticsearch-head_第3张图片
无法连接,这个插件和es是前后端分离的,跨域无法访问,需要更改es配置
4.更改es配置
修改docker中elasticsearch的elasticsearch.yml文件
进入es的docker容器

docker exec -it elasticsearch容器id /bin/bash

编辑conf
//docker容器内部vi感觉怪怪的,小心使用,insert后要按下backspace
//建议复制出来再复制回去(后面5.有复制操作)或者安装vim
//apt-get update
//apt-get update
//vim config/elasticsearch.yml

vi config/elasticsearch.yml

增加跨域配置并保存,注意:后有空格

http.cors.enabled: true 
http.cors.allow-origin: "*"

[ES]docker安装elasticsearch和elasticsearch-head_第4张图片
输入exit退出容器
5.重启es容器

docker restart 容器id

//如果重启不了,查看该容器日志
//docker logs 容器id
在这里插入图片描述
//复制出配置文件到当前文件夹
//docker cp 6578ff580c60:/usr/share/elasticsearch/config/elasticsearch.yml .
在这里插入图片描述
//vi elasticsearch.yml
[ES]docker安装elasticsearch和elasticsearch-head_第5张图片
//可以看到少了空格
//docker cp elasticsearch.yml 6578ff580c60:/usr/share/elasticsearch/config/elasticsearch.yml
//复制回去,重启容器

6.完成
[ES]docker安装elasticsearch和elasticsearch-head_第6张图片
7.es-head 406看不到具体数据
请求头问题导致,直接点击这个url可以得到数据
[ES]docker安装elasticsearch和elasticsearch-head_第7张图片
复制es-head容器中的vendor.js到外部

docker cp 4e7d1c9a1e46:/usr/src/app/_site/vendor.js ./
vim vendor.js

编辑(vim中输入:行号 )转到对应行
6890行contentType: “application/x-www-form-urlencoded“改为contentType: “application/json;charset=UTF-8”
7577 行"application/x-www-form-urlencoded“改为"application/json;charset=UTF-8”
Cp回去

docker cp vendor.js 4e7d1c9a1e46:/usr/src/app/_site

刷新浏览器即可

你可能感兴趣的:(java,elasticsearch,docker,大数据,spring,开发语言)