一. Docker安装ElasticSearch
注:机器上已安装Docker且联网
- 第一步:使用docker直接获取es镜像,执行命令如下:
docker pull elasticsearch:7.7.0
执行完成后,执行docker查看镜像命令:
docker images
- 第二步:开始创建容器,创建一个ES的容器
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
参数说明如下:
--name 表示容器名称
-d: 后台运行容器,并返回容器ID;
-e: 指定容器内的环境变量
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
查看一下容器列表中有没有容器,执行命令列出所有的容器
docker ps -a
- 第三步:查看ES安装成功,在浏览器访问ES
ES默认端口为9200,ip地址+端口号直接访问,结果如下图。出现这个界面就表示安装成功。
Docker安装完成了ElasticSearch,接下来安装ElasticSearch的客户端工具。
二. 安装ElasticSearch-Head
- 第一步:采用Docker进行快速安装,先拉取镜像,执行命令:
docker pull mobz/elasticsearch-head:5
- 第二步:创建容器,执行命令:
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
第三步:启动容器
先查看一下容器id
docker ps -a
启动容器,命令如下 :
docker start 容器id
安装完成直接使用域名
+端口9100
即可访问。
大家按F12会发现存在跨域问题,这也是导致连接不上ES服务的原因
- 处理跨域
要在服务端做跨域处理,执行命令进入到ElasticSearch容器中
docker exec -it elasticsearch /bin/bash
修改配置文件
vi config/elasticsearch.yml
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/
配置修改完后需执行命令exit
退出容器。
重启容器
docker restart 容器ID
这次再点连接就没问题了