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"]
浙公网安备 33010602011771号