官方给出的elasticsearch镜像需要做不少的修改,并且个人感觉镜像有点太大,所以萌生了自己做镜像的想法
此Docker镜像基于alpine的jre8镜像(使用alpine的原因就是没有太多不必要的组件和命令,docker内部也不需要太多组件)
所需文件目录及介绍:
# 文件目录介绍
* elasticsearch 目录为build docker镜像必要文件,主要替换elasticsearch启动文件(bin目录,主要是修改以root用户启动,参考文章:http://blog.csdn.net/gsying1474/article/details/51939294)和添加中文分词插件IK(plugins目录,主要添加了中文分词插件,参考文章:http://blog.csdn.net/gsying1474/article/details/51909027)
Dockerfile文件代码:
FROM anapsix/alpine-java:jre8 MAINTAINER firewarm LightingLiu <liuyg@liuyingguang.cn> ENV ES_PKG_NAME elasticsearch-2.3.3 ADD $ES_PKG_NAME.tar.gz /usr/share/ ADD elasticsearch/ /usr/share/$ES_PKG_NAME/ RUN cd /usr/share/ && \ mv $ES_PKG_NAME elasticsearch && \ chmod +x /usr/share/elasticsearch/bin/* ENV PATH /usr/share/elasticsearch/bin:$PATH # Define default command. CMD ["elasticsearch"] EXPOSE 9200 EXPOSE 9300
# 此处的Dockerfile解决了如下问题:
1. Docker内部以root启动
2. elasticsearch中文分词插件IK
# build命令
docker build -t firewarm/elasticsearch:2.3.3.1 .
# 镜像使用方式
docker run -v /home/elasticsearch/config:/usr/share/elasticsearch/config -p 9200:9200 -p 9300:9300 firewarm/elasticsearch:2.3.3.1
* 其中“/home/elasticsearch/config”为宿主机的config映射目录
by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/