Docker安装ElasticSearch&可视化管理工具Dejavu

老规矩,首先使用 Docker 搜索ElasticSearch镜像

一、安装和拉取镜像

1.1 拉取镜像

支持的 ElasticSearch 镜像版本标签

我选择的是 ElasticSearch 7.16.2 版本:

docker pull elasticsearch:7.16.2

养成好习惯,再用 docker images 检查一下:

一切顺利。

1.2 运行实例

docker run  --name elasticsearch7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.16.2

我们顺手用 docker ps 检查一下运行情况:

运行也成功了,没问题。

二、客户端验证

2.1 访问9200端口

浏览器访问 ip:9200 如果出现以下界面就是安装成功:

三、可视化管理

参考了一下 知乎 Elasticsearch 可视化管理工具,有三款可以选择:

  1. ElasticHD
  2. elasticsearch-head
  3. Dejavu

Dejavu 其 UI界面更符合当下主流的前端页面风格,因此使用起来很方便。

3.1 安装 Dejavu

我选定的是 3.5.1 这个版本:

第一步:拉取镜像

docker pull appbaseio/dejavu:3.5.1

第二步:运行实例

docker run --name dejavu3 -p 1358:1358 -d appbaseio/dejavu:3.5.1

第三步:用浏览器访问localhost:1358

尝试连接easticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置。

3.2 配置 elasticsearch 跨域

第一步:打开名称为elasticsearch7的实例的Bash

docker exec -it elasticsearch7 /bin/bash

第二步:编辑elasticsearch.yml

vi config/elasticsearch.yml

在该文件中,追加这段信息:

红框内是新追加的内容:

Esc退出编辑模式,键盘输入:wq保存并退出编辑器

第三步:重启实例

exit
docker stop elasticsearch7
docker start elasticsearch7

3.3 为 elasticsearch 创建一个索引

我用 Postman 新建了一个 PUT 请求,请求的 url 为 http://localhost:9200/blogs,Body 参数为 JSON 格式:

{
   "settings" : {
      "number_of_shards" : 1,
      "number_of_replicas" : 1
   }
}

发送请求后得到响应:

参考文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_add-an-index.html

3.4 Dejavu连接索引

经验证,Dejavu 验证可以正常使用~

原文地址:https://www.cnblogs.com/kendoziyu/p/15785302.html