mirror of
https://github.com/apache/zeppelin
synced 2026-05-24 09:38:26 +00:00
### What is this PR for? Change the version to 0.13.0-SNAPSHOT ### What type of PR is it? Improvement ### Todos * [x] - Change versions to 0.13.0-SNAPSHOT ### How should this be tested? The version should show 0.13.0-SNAPSHOT when building it. ### Screenshots (if appropriate) ### Questions: * Does the license files need to update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Closes #4995 from jongyoul/minor/bump-up-0.13.0-snapshot. Signed-off-by: Jongyoul Lee <jongyoul@gmail.com>
85 lines
4.1 KiB
Docker
85 lines
4.1 KiB
Docker
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
ARG ZEPPELIN_DISTRIBUTION_IMAGE=zeppelin-distribution:latest
|
|
FROM $ZEPPELIN_DISTRIBUTION_IMAGE AS zeppelin-distribution
|
|
|
|
# Prepare all interpreter settings for Zeppelin server
|
|
# This steps are not needed, if you you add only specific interpreters settings to your image
|
|
FROM alpine:3.13 AS interpreter-settings
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/interpreter /tmp/interpreter
|
|
RUN mkdir -p /opt/zeppelin/interpreter && \
|
|
cd /tmp/interpreter && \
|
|
find . -name 'interpreter-setting.json' -exec cp --parents \{\} /opt/zeppelin/interpreter \;
|
|
|
|
FROM ubuntu:22.04
|
|
LABEL maintainer="Apache Software Foundation <dev@zeppelin.apache.org>"
|
|
|
|
RUN set -ex && \
|
|
apt-get -y update && \
|
|
# Install language and other base packages
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y language-pack-en openjdk-11-jre-headless tini wget && \
|
|
# Cleanup
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
apt-get autoclean && \
|
|
apt-get clean
|
|
|
|
ARG version="0.13.0-SNAPSHOT"
|
|
|
|
ENV LANG=en_US.UTF-8 \
|
|
LC_ALL=en_US.UTF-8 \
|
|
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 \
|
|
VERSION="${version}" \
|
|
HOME="/opt/zeppelin" \
|
|
ZEPPELIN_HOME="/opt/zeppelin" \
|
|
ZEPPELIN_ADDR="0.0.0.0" \
|
|
ZEPPELIN_WAR_TEMPDIR="/tmp/webapps"
|
|
|
|
# Copy Zeppelin related files
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/zeppelin-web-${VERSION}.war ${ZEPPELIN_HOME}/
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/zeppelin-web-angular-${VERSION}.war ${ZEPPELIN_HOME}/
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/conf ${ZEPPELIN_HOME}/conf
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/bin ${ZEPPELIN_HOME}/bin
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/lib ${ZEPPELIN_HOME}/lib
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/plugins ${ZEPPELIN_HOME}/plugins
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/interpreter/zeppelin-interpreter-shaded-${VERSION}.jar ${ZEPPELIN_HOME}/interpreter/zeppelin-interpreter-shaded-${VERSION}.jar
|
|
# copy example notebooks
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/notebook ${ZEPPELIN_HOME}/notebook
|
|
# copy k8s files
|
|
COPY --from=zeppelin-distribution /opt/zeppelin/k8s ${ZEPPELIN_HOME}/k8s
|
|
|
|
# Decide
|
|
## 1) Copy and activate all interpreters (default)
|
|
COPY --from=interpreter-settings /opt/zeppelin/interpreter ${ZEPPELIN_HOME}/interpreter
|
|
## 2) Copy and activate only a specific set of interpreter
|
|
# COPY --from=zeppelin-distribution /opt/zeppelin/interpreter/spark/interpreter-setting.json ${ZEPPELIN_HOME}/interpreter/spark/interpreter-setting.json
|
|
# COPY --from=zeppelin-distribution /opt/zeppelin/interpreter/jdbc/interpreter-setting.json ${ZEPPELIN_HOME}/interpreter/jdbc/interpreter-setting.json
|
|
# COPY --from=zeppelin-distribution /opt/zeppelin/interpreter/md/interpreter-setting.json ${ZEPPELIN_HOME}/interpreter/md/interpreter-setting.json
|
|
|
|
COPY log4j.properties ${ZEPPELIN_HOME}/conf/
|
|
|
|
RUN mkdir -p "${ZEPPELIN_HOME}/logs" "${ZEPPELIN_HOME}/run" "${ZEPPELIN_HOME}/notebook" "${ZEPPELIN_HOME}/local-repo" && \
|
|
# Allow process to edit /etc/passwd, to create a user entry for zeppelin
|
|
chgrp root /etc/passwd && chmod ug+rw /etc/passwd && \
|
|
# Give access to some specific folders
|
|
chmod -R 775 "${ZEPPELIN_HOME}/logs" "${ZEPPELIN_HOME}/run" "${ZEPPELIN_HOME}/conf" "${ZEPPELIN_HOME}/notebook" "${ZEPPELIN_HOME}/local-repo"
|
|
|
|
USER 1000
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT [ "/usr/bin/tini", "--" ]
|
|
WORKDIR ${ZEPPELIN_HOME}
|
|
CMD ["bin/zeppelin.sh"]
|