欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于elasticsearch-head插件 通过elasticsearch-head插件可以更方便的查询es,观察es状态,插件官
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于elasticsearch-head插件
- 通过elasticsearch-head插件可以更方便的查询es,观察es状态,插件官方地址:https://github.com/mobz/elasticsearch-head
为什么要自己制作elasticsearch-head的Docker镜像
- 原因很简单:elasticsearch-head的官方Docker镜像只支持elasticsearch5.x版本,而现在elasticsearch6.x版本已经广泛使用了,以下就是elasticsearch-head官方的支持情况:
- 如果在Docker环境下运行elasticsearch版本是6.x版本,是没有与之匹配的head插件镜像的,此时的解决方法有以下三种:
- 把head插件搭建在Docker环境之外,也就是在物理机部署head;
- 寻找非官方的head镜像;
- 掌握head插件镜像的制作方法,随时按照自己的需要制作支持任意版本的镜像;
今天的文章讨论的就是第三种方法:自己制作elasticsearch-head插件;
实战环境
不用Docker的时候,elasticsearch-head是如何在物理机上部署的
-
想做出elasticsearch-head镜像,先要对elasticsearch-head的常规部署方式有所了解,简单的罗列如下:
- 准备好nodejs环境;
- 下载elasticsearch-head源码;
- 安装grunt-cli;
- 安装elasticsearch-head;
- 用grunt命令启动;
- 更多部署elasticsearch-head的详情请参考《Linux环境快速搭建elasticsearch6.5.4集群和Head插件》;
编写Dockerfile文件
-
前面已清楚了head插件的常规部署流程,接下来的事情就简单了,按照上述流程制作Dockerfile,制作之前要注意以下几点:
- 基础镜像选哪个?我这里选择的是nodejs的官方镜像,这样就可以不用搭建nodejs环境了,最好选择alpine版本,这样的镜像体积更小;
- 多个shell命令的操作,尽量用&&连接起来,这样生成的镜像layer数更少,体积也会更小;
- head插件的源码地址,我选用了master版本的地址,您可以根据自己的需要改成指定的分支;
- 完整的Dockerfile内容如下,每一行都有详细的注释,就不多赘述了:
构建镜像
- 在Dockerfile所在目录执行以下命令即可构建镜像:
构建的过程中,执行npm install的时候会在github下载源码,此时有很大概率超时报错退出,多重试几次是可以成功的;
- 构建成功后,执行命令docker history bolingcavalry/elasticsearch-head:6查看构建信息,如下:
验证镜像
- 接下来在Docker上部署elasticsearch+elasticsearch-head,验证做好的镜像是否好用,创建docker-compose.yml文件,内容如下:
- 在docker-compose.yml文件所在目录下执行命令docker-compose up -d,即可创建yml文件中编排的容器,如下:
-
假设docker所在电脑的IP地址是192.168.1.101,如下图,在浏览器访问此地址可以查看es的信息:http://192.168.1.101:9200
-
看到上述信息表示es启动成功了;
-
如下图,elasticsearch-head的访问地址是:http://192.168.1.101:9100
- 创建索引、文档,再在head页面上查看一切正常,如下图,与物理机环境无异:
将镜像提交到hub.docker.com
-
前面构建好的镜像只存在本地电脑,我们可以将其提交到docker仓库给更多用户使用:
- 提交镜像到hub.docker.com网站,需要用到该网站的账号,请确保您已经在此网站注册过;
- 执行docker login登录,期间会要求输入用户名和密码;
- 执行命令docker push bolingcavalry/elasticsearch-head:6,即可将本地镜像push到hub.docker.com;
- 注意镜像名称的前缀,例如我这里的前缀是bolingcavalry,要和账号保持一致;
- 提交成功后,在hub.docker.com网站即可看到此镜像,如下图,此时任何人都可以pull来下使用了:
- 至此,整个head插件的镜像制作实战已完成,希望能给您提供参考,做出更适合自己的定制镜像;
欢迎关注51CTO博客:程序员欣宸
学习路上,你不孤单,欣宸原创一路相伴...
【本文由:高防cdn http://www.558idc.com/gfcdn.html 复制请保留原URL】