|
1 | | -FROM openjdk:8u342-slim |
2 | | - |
3 | | -ARG HBASE_VERSION=${HBASE_VERSION:-2.2.6} |
| 1 | +FROM openjdk:8u342-slim AS builder |
4 | 2 |
|
| 3 | +ARG HBASE_VERSION=2.2.6 |
5 | 4 | ENV HBASE_REPOSITORY=http://apache.mirrors.pair.com/hbase |
6 | 5 | ENV HBASE_SUB_REPOSITORY=http://archive.apache.org/dist/hbase |
7 | | - |
8 | 6 | ENV BASE_DIR=/opt/hbase |
9 | | -ENV HBASE_HOME=${BASE_DIR}/hbase-${HBASE_VERSION} |
10 | 7 |
|
11 | | -COPY scripts/hbase-create.hbase ${BASE_DIR}/hbase-create.hbase |
12 | | -COPY hbase-docker/Dockerfiles/configure-hbase.sh /usr/local/bin/configure-hbase.sh |
13 | | -COPY hbase-docker/Dockerfiles/check-table.sh /usr/local/bin/check-table.sh |
14 | | -COPY hbase-docker/Dockerfiles/initialize-hbase.sh /usr/local/bin/initialize-hbase.sh |
| 8 | +WORKDIR ${BASE_DIR} |
| 9 | +RUN apt-get update \ |
| 10 | + && apt-get install --no-install-recommends -y curl \ |
| 11 | + && rm -rf /var/lib/apt/lists/* \ |
| 12 | + && (curl -fSL "${HBASE_REPOSITORY}/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz" -o hbase.tar.gz \ |
| 13 | + || curl -fSL "${HBASE_SUB_REPOSITORY}/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz" -o hbase.tar.gz) \ |
| 14 | + && tar xfvz hbase.tar.gz -C ${BASE_DIR} \ |
| 15 | + && rm hbase.tar.gz |
15 | 16 |
|
16 | | -RUN apt-get update && apt-get install --no-install-recommends -y curl && apt-get clean \ |
17 | | - && chmod a+x /usr/local/bin/initialize-hbase.sh \ |
18 | | - && chmod a+x /usr/local/bin/check-table.sh \ |
19 | | - && chmod a+x /usr/local/bin/configure-hbase.sh |
| 17 | +FROM openjdk:8u342-slim |
20 | 18 |
|
21 | | -RUN mkdir -p ${BASE_DIR} \ |
22 | | - && 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 ${BASE_DIR}/hbase.tar.gz \ |
23 | | - && tar xfvz ${BASE_DIR}/hbase.tar.gz -C ${BASE_DIR} \ |
24 | | - && rm ${BASE_DIR}/hbase.tar.gz |
| 19 | +ARG HBASE_VERSION=2.2.6 |
| 20 | +ENV BASE_DIR=/opt/hbase |
| 21 | +ENV HBASE_HOME=${BASE_DIR}/hbase-${HBASE_VERSION} |
25 | 22 |
|
26 | | -COPY hbase-docker/Dockerfiles/hbase-site.xml ${HBASE_HOME}/conf/hbase-site.xml |
27 | | -COPY hbase-docker/Dockerfiles/hbase-env.sh ${HBASE_HOME}/conf/hbase-env.sh |
| 23 | +WORKDIR ${BASE_DIR} |
| 24 | +COPY --from=builder ${BASE_DIR}/hbase-${HBASE_VERSION} ${BASE_DIR}/hbase-${HBASE_VERSION} |
| 25 | +COPY scripts/hbase-create.hbase ${BASE_DIR}/hbase-create.hbase |
| 26 | +COPY hbase-docker/configure-hbase.sh hbase-docker/check-table.sh hbase-docker/initialize-hbase.sh /usr/local/bin/ |
| 27 | +COPY hbase-docker/hbase-site.xml ${HBASE_HOME}/conf/hbase-site.xml |
| 28 | +COPY hbase-docker/hbase-env.sh ${HBASE_HOME}/conf/hbase-env.sh |
| 29 | +RUN chmod a+x /usr/local/bin/*.sh |
28 | 30 |
|
29 | 31 | VOLUME ["/home/pinpoint/hbase", "/home/pinpoint/zookeeper"] |
30 | 32 |
|
|
0 commit comments