美文网首页ELK stack运维&部署开源技术
Docker部署ELK(三)-构建Elasticsearch镜像

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

作者: Luomeng | 来源:发表于2017-05-06 21:53 被阅读749次

    接上~

    这一节,我们要构建一个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
    有兴趣的同学可以研究下。

    相关文章

      网友评论

        本文标题:Docker部署ELK(三)-构建Elasticsearch镜像

        本文链接:https://www.haomeiwen.com/subject/jeuytxtx.html