Untitled
plain_text
2 months ago
1.6 kB
0
Indexable
Never
# 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"]