dockerfile创建logstash+kafka环境

准备数据:

jdk-8u65-linux-x64.tar.gz 

kafka_2.11-0.9.0.1.tgz 

logstash-2.4.0.tar.gz 

zookeeper-3.4.9.tar.gz

Dockfile文件如下:

#使用的基础镜像
FROM centos:latest
#作者信息
MAINTAINER rain-wang

#配置JDK 创建目录
RUN mkdir -p /opt/app/tools
#把当前目录下的jdk文件夹添加到镜像
ADD tools/jdk-8u65-linux-x64.tar.gz /opt/app/tools/



#添加环境变量
ENV JAVA_HOME /opt/app/tools/jdk1.8.0_65
ENV PATH $PATH:$JAVA_HOME/bin

#配置logstash
ADD tools/logstash-2.4.0.tar.gz /opt/app/tools/

ADD tools/logstash.conf /opt/app/tools/logstash-2.4.0/

#配置zookeeper
ADD tools/zookeeper-3.4.9.tar.gz /opt/app/tools/

#配置kafka
ADD tools/kafka_2.11-0.9.0.1.tgz /opt/app/tools/

#创建zookeeper配置文件
RUN cd /opt/app/tools/zookeeper-3.4.9/conf \ 
    &&cp zoo_sample.cfg zoo.cfg

EXPOSE 9092

 RUN echo "#!/bin/bash" > /opt/app/start.sh &&\
    echo "cd /opt/app/tools/logstash-2.4.0" >> /opt/app/start.sh &&\
    echo "bin/logstash -f logstash.conf &" >> /opt/app/start.sh &&\
    echo "cd /opt/app/tools/zookeeper-3.4.9" >> /opt/app/start.sh &&\
    echo "bin/zkServer.sh start &" >> /opt/app/start.sh &&\
    echo "cd /opt/app/tools/kafka_2.11-0.9.0.1" >> /opt/app/start.sh &&\
    echo "bin/kafka-server-start.sh config/server.properties " >> /opt/app/start.sh &&\
    chmod a+x /opt/app/start.sh
#注意bin/kafka-server-start.sh config/server.properties 后面没有&,不要在后台启动 否则容器启动后就退出了


#执行脚本
ENTRYPOINT ["/opt/app/start.sh"]

 

posted on 2017-08-02 17:29  hi_rain  阅读(1150)  评论(0)    收藏  举报