Zeppelin: Compress the image by doing the build on a separate image

Pull the tar through to the image we need it on.

Addresses #17231
This commit is contained in:
Zach Loafman
2015-11-14 16:44:27 -08:00
parent 961a02a602
commit f8b83a65da
5 changed files with 71 additions and 48 deletions

View File

@@ -0,0 +1,54 @@
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed 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.
# This is the Zeppelin *build* image. It spits out a /zeppelin.tgz
# alone, which is then copied out by the Makefile and used in the
# actual Zeppelin image.
#
# Based heavily on
# https://github.com/dylanmei/docker-zeppelin/blob/master/Dockerfile
# (which is similar to many others out there), but rebased onto maven
# image.
FROM maven:3.3.3-jdk-8
ENV ZEPPELIN_TAG v0.5.5
ENV SPARK_MINOR 1.5
ENV SPARK_PATCH 1
ENV SPARK_VER ${SPARK_MINOR}.${SPARK_PATCH}
ENV HADOOP_MINOR 2.6
ENV HADOOP_PATCH 1
ENV HADOOP_VER ${HADOOP_MINOR}.${HADOOP_PATCH}
# libfontconfig is a workaround for
# https://github.com/karma-runner/karma/issues/1270, which caused a
# build break similar to
# https://www.mail-archive.com/users@zeppelin.incubator.apache.org/msg01586.html
RUN apt-get update \
&& apt-get install -y net-tools build-essential git wget unzip python python-setuptools python-dev python-numpy libfontconfig
RUN git clone https://github.com/apache/incubator-zeppelin.git --branch ${ZEPPELIN_TAG} /opt/zeppelin
RUN cd /opt/zeppelin && \
mvn clean package \
-Pbuild-distr \
-Pspark-${SPARK_MINOR} -Dspark.version=${SPARK_VER} \
-Phadoop-${HADOOP_MINOR} -Dhadoop.version=${HADOOP_VER} \
-Ppyspark \
-DskipTests && \
echo "Successfully built Zeppelin"
RUN cd /opt/zeppelin/zeppelin-distribution/target/zeppelin-* && \
mv zeppelin-* zeppelin && \
tar cvzf /zeppelin.tgz zeppelin