ELK stack运维&部署开源技术

Docker部署ELK(三)-构建Elasticsearch镜像

2017-05-06  本文已影响749人  Luomeng

接上~

这一节,我们要构建一个Elasticsearch的镜像,没错,就是下面这个货。


Elasticsearch

下载

去官网下载一个Elasticsearch,传送门:https://www.elastic.co/downloads
下载tar包,解压到tools目录下,修改elasticsearch-5.4.0-->config文件夹下elasticsearch.yml文件中

# 这样配置才可以通过其它主机访问
network.host: 0.0.0.0
# 日志存放在挂载的目录
path.logs: /opt/product/data/logs

如果需要安装head访问,则需要添加下面两个参数,允许跨域访问

http.cors.enabled: true
http.cors.allow-origin: "*"

其它参数稍后研究。

Dockerfile

FROM elkbase:v1.0
MAINTAINER Luomeng
VOLUME [ "/opt/product/data/" ]
ADD ./elasticsearch-5.4.0 /opt/product/elasticsearch-5.4.0
ADD init.sh /root/
RUN useradd elk && chown -R elk:elk /opt/product/elasticsearch-5.4.0
EXPOSE 9200
EXPOSE 9300
RUN chmod +x /root/init.sh
ENTRYPOINT ["/root/init.sh"]
CMD ["/usr/sbin/init"]

init.sh

用于在容器启动后执行Elasticsearch启动文件

#!/bin/bash
echo "I am in!!!"
su - elk <<!
export JAVA_HOME=/opt/product/tools/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
/opt/product/elasticsearch-5.4.0/bin/elasticsearch

构建镜像

docker build -t elasticsearch:v1.0 . #注意最后有一个“.”

启动容器

docker run --privileged -ti -v /Users/Luomeng/DockerProject/Elasticsearch/data:/opt/product/data -p 9200:9200 -p 9300:9300 elasticsearch:v1.0 /bin/bash

查看启动日志,没问题后可以用以下命令后台启动:

docker run --privileged --restart=always -d -ti -v /Users/Luomeng/DockerProject/Elasticsearch/data:/opt/product/data -p 9200:9200 -p 9300:9300 elasticsearch:v1.0 /bin/bash

Test

浏览器中输入http://ip:9200如果出现json串,说明安装成功。

官方安装方式也有docker安装:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docker.html
有兴趣的同学可以研究下。

上一篇下一篇

猜你喜欢

热点阅读