Untitled
unknown
plain_text
2 years ago
1.6 kB
15
Indexable
# Use a smaller base image for the build stage
FROM alpine:3.14 as builder
# Install necessary build dependencies
RUN apk --no-cache add \
openjdk8 \
wget \
unzip \
bash
ENV ZEPPELIN_HOME="/opt/zeppelin" \
LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8 \
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
# Download and extract Zeppelin binary
RUN mkdir -p ${ZEPPELIN_HOME} && \
wget -nv -O /tmp/zeppelin-${Z_VERSION}-bin-all.tgz https://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \
tar --strip-components=1 -zxvf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz -C ${ZEPPELIN_HOME} && \
rm -f /tmp/zeppelin-${Z_VERSION}-bin-all.tgz
# Use a smaller base image for the final stage
FROM alpine:3.14
LABEL maintainer="Apache Software Foundation <dev@zeppelin.apache.org>"
ENV Z_VERSION="0.10.0" \
ZEPPELIN_HOME="/opt/zeppelin" \
LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8 \
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk \
ZEPPELIN_ADDR="0.0.0.0"
# Install necessary runtime dependencies
RUN apk --no-cache add \
tini \
openjdk8 \
bash
# Copy required artifacts from the builder stage
COPY --from=builder ${ZEPPELIN_HOME}/ ${ZEPPELIN_HOME}/
# Set up necessary directories and permissions
RUN mkdir -p ${ZEPPELIN_HOME}/logs ${ZEPPELIN_HOME}/run ${ZEPPELIN_HOME}/webapps && \
chmod -R 775 "${ZEPPELIN_HOME}/logs" "${ZEPPELIN_HOME}/run" "${ZEPPELIN_HOME}/notebook" "${ZEPPELIN_HOME}/conf" && \
chmod 775 ${ZEPPELIN_HOME}
USER 1000
EXPOSE 8080
ENTRYPOINT [ "/usr/bin/tini", "--" ]
WORKDIR ${ZEPPELIN_HOME}
CMD ["bin/zeppelin.sh"]
Editor is loading...