本文整理了单个Dockerfile构建hbase2.2.2版本的镜像,如需其他版本可参照如下Dockerfile进行定制即可,修改HBASE_VERSION取值。
FROM java:8-jdk
# docker_hub_account/hbase:2.2.2 需要手动启动thrift:对应9091端口
ENV HBASE_REPOSITORY=http://apache.mirrors.pair.com/hbase
ENV HBASE_SUB_REPOSITORY=http://archive.apache.org/dist/hbase
ENV HBASE_VERSION=2.2.2
ENV BASE_DIR=/opt/hbase
ENV HBASE_HOME=${BASE_DIR}/hbase-${HBASE_VERSION}
COPY hbase-site.xml hbase-site.xml
RUN mkdir -p ${BASE_DIR} \
&& cd ${BASE_DIR} \
&& curl -fSL "${HBASE_REPOSITORY}/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz" -o hbase.tar.gz || curl -fSL "${HBASE_SUB_REPOSITORY}/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz" -o hbase.tar.gz \
&& tar xfvz hbase.tar.gz \
&& mv ../../hbase-site.xml ../../${HBASE_HOME}/conf/hbase-site.xml \
&& ${HBASE_HOME}/bin/start-hbase.sh \
&& sleep 10 \
&& ${HBASE_HOME}/bin/stop-hbase.sh \
&& rm -rf hbase.tar.gz
RUN export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
&& export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH \
&& ${HBASE_HOME}/bin/hbase-daemon.sh start thrift -p 9091
VOLUME ["/home/hbase", "/home/zookeeper"]
ENTRYPOINT ${BASE_DIR}/hbase-${HBASE_VERSION}/bin/hbase master start
网友评论