Docker安装ElasticSearch&可视化管理工具Dejavu
老规矩,首先使用 Docker 搜索ElasticSearch镜像
一、安装和拉取镜像
1.1 拉取镜像
我选择的是 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 可视化管理工具,有三款可以选择:
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 验证可以正常使用~