docker构建flume容器应用的Dockerfile写法:
首先准备好jdk和flume的对应版本的tar包,以及docker中要已经有centos镜像。配置好flume的配置文件,比方说flumetokafka的配置,编写好flume的启动文件,将tar包,配置文件,dockerfile文件放在一个文件夹下面。
编写Dockerfile如下:
FROM centos
#安装jdk1.8
ADD jdk-8u181-linux-x64.tar.gz /usr/etc
ENV JAVA_HOME /usr/etc/jdk1.8.0_181
ENV CLASSPATH $JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$PATH
#安装flume
ADD apache-flume-1.8.0-bin.tar.gz /usr/flume
COPY flume-kafka.conf /usr/flume/apache-flume-1.8.0-bin/conf
COPY start-flume.sh /usr/local/bin/
CMD ["/bin/bash","/usr/local/bin/start-flume.sh"]
编写flume的启动文件如下:
#!/bin/sh
cd /usr/hbase/hbase-2.0.0/bin
./start-flume.sh
# to keep container running
for((i=1;i<=10;))
do
#echo $i
sleep 1
done