From 2e75b92ebddc71aa4d177c484c242e34eaa04b9d Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 16:17:29 +0900 Subject: [PATCH 01/15] feat: Install dumb-init using package --- scripts/docker/zeppelin-base/Dockerfile | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/Dockerfile index 3084d3e1a9c..5d98dfa32f7 100644 --- a/scripts/docker/zeppelin-base/Dockerfile +++ b/scripts/docker/zeppelin-base/Dockerfile @@ -17,10 +17,17 @@ FROM alpine:3.4 MAINTAINER Apache Software Foundation -ENV JAVA_HOME /usr/lib/jvm/java-1.7-openjdk -ENV PATH $PATH:$JAVA_HOME/bin +ENV JAVA_HOME=/usr/lib/jvm/java-1.7-openjdk \ + PATH=$PATH:$JAVA_HOME/bin \ + DUMBINIT_VERSION="1.2.0" -RUN apk add --update bash curl openjdk7-jre wget ca-certificates python build-base make gcc g++ java-cacerts openssl && \ +RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ + echo "http://dl-2.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ + echo "http://dl-3.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ + echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ + echo "http://dl-5.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ + echo "http://dl-6.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ + apk add --update bash dumb-init curl openjdk7-jre wget ca-certificates python build-base make gcc g++ java-cacerts openssl && \ rm /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts && \ ln -s /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts && \ curl --silent \ @@ -33,10 +40,7 @@ RUN apk add --update bash curl openjdk7-jre wget ca-certificates python build-ba apk del curl build-base make gcc g++ && \ rm -rf /var/cache/apk/* -RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.1.3/dumb-init_1.1.3_amd64 -RUN chmod +x /usr/local/bin/dumb-init - # ports for zeppelin EXPOSE 8080 7077 -ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] +ENTRYPOINT ["/usr/bin/dumb-init", "--"] From e947bc69f163839fef1887e15591ba93e60ed4f9 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 16:35:04 +0900 Subject: [PATCH 02/15] feat: Install openjdk7 ref - https://github.com/1ambda/docker-zeppelin/blob/master/alpine/base/Dockerfile --- scripts/docker/zeppelin-base/Dockerfile | 26 +++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/Dockerfile index 5d98dfa32f7..fa9b113ae69 100644 --- a/scripts/docker/zeppelin-base/Dockerfile +++ b/scripts/docker/zeppelin-base/Dockerfile @@ -17,9 +17,7 @@ FROM alpine:3.4 MAINTAINER Apache Software Foundation -ENV JAVA_HOME=/usr/lib/jvm/java-1.7-openjdk \ - PATH=$PATH:$JAVA_HOME/bin \ - DUMBINIT_VERSION="1.2.0" +ENV DUMBINIT_VERSION="1.2.0" RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-2.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ @@ -27,9 +25,7 @@ RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/reposit echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-5.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-6.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ - apk add --update bash dumb-init curl openjdk7-jre wget ca-certificates python build-base make gcc g++ java-cacerts openssl && \ - rm /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts && \ - ln -s /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts && \ + apk add --update bash dumb-init curl wget python build-base make gcc g++ && \ curl --silent \ --location https://github.com/sgerrand/alpine-pkg-R/releases/download/3.3.1-r0/R-3.3.1-r0.apk --output /var/cache/apk/R-3.3.1-r0.apk && \ apk add --update --allow-untrusted /var/cache/apk/R-3.3.1-r0.apk && \ @@ -40,6 +36,24 @@ RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/reposit apk del curl build-base make gcc g++ && \ rm -rf /var/cache/apk/* +RUN { \ + echo '#!/bin/sh'; \ + echo 'set -e'; \ + echo; \ + echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \ + } > /usr/local/bin/docker-java-home \ + && chmod +x /usr/local/bin/docker-java-home + +ENV JAVA_HOME=/usr/lib/jvm/java-1.7-openjdk \ + PATH=$PATH:/usr/lib/jvm/java-1.7-openjdk/jre/bin:/usr/lib/jvm/java-1.7-openjdk/bin \ + JAVA_VERSION=7u121 \ + JAVA_ALPINE_VERSION=7.121.2.6.8-r0 + +RUN set -x \ + && apk add --no-cache \ + openjdk7="$JAVA_ALPINE_VERSION" \ + && [ "$JAVA_HOME" = "$(docker-java-home)" ] + # ports for zeppelin EXPOSE 8080 7077 From 1bde48e99503fde3f90fa6234e4ad30fc0a82d43 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 17:29:18 +0900 Subject: [PATCH 03/15] chore: Use --no-cache not to remove cache dir --- scripts/docker/zeppelin-base/Dockerfile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/Dockerfile index fa9b113ae69..f3b48f29583 100644 --- a/scripts/docker/zeppelin-base/Dockerfile +++ b/scripts/docker/zeppelin-base/Dockerfile @@ -17,7 +17,8 @@ FROM alpine:3.4 MAINTAINER Apache Software Foundation -ENV DUMBINIT_VERSION="1.2.0" +ENV LANG=C.UTF-8 \ + DUMBINIT_VERSION="1.2.0" RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-2.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ @@ -25,16 +26,16 @@ RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/reposit echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-5.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-6.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ - apk add --update bash dumb-init curl wget python build-base make gcc g++ && \ + apk add --no-cache bash dumb-init curl wget python build-base make gcc g++ && \ curl --silent \ --location https://github.com/sgerrand/alpine-pkg-R/releases/download/3.3.1-r0/R-3.3.1-r0.apk --output /var/cache/apk/R-3.3.1-r0.apk && \ - apk add --update --allow-untrusted /var/cache/apk/R-3.3.1-r0.apk && \ + apk add --no-cache --allow-untrusted /var/cache/apk/R-3.3.1-r0.apk && \ curl --silent \ --location https://github.com/sgerrand/alpine-pkg-R/releases/download/3.3.1-r0/R-dev-3.3.1-r0.apk --output /var/cache/apk/R-dev-3.3.1-r0.apk && \ - apk add --update --allow-untrusted /var/cache/apk/R-dev-3.3.1-r0.apk && \ + apk add --no-cache --allow-untrusted /var/cache/apk/R-dev-3.3.1-r0.apk && \ R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org')" && \ - apk del curl build-base make gcc g++ && \ - rm -rf /var/cache/apk/* + rm -rf /var/cache/apk/* && \ + apk del curl build-base make gcc g++ RUN { \ echo '#!/bin/sh'; \ From 02e7ef9eea1f313955e8c461b5c1c575c981616e Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 17:33:05 +0900 Subject: [PATCH 04/15] chore: Add logging --- scripts/docker/zeppelin-base/Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/Dockerfile index f3b48f29583..6a74e607709 100644 --- a/scripts/docker/zeppelin-base/Dockerfile +++ b/scripts/docker/zeppelin-base/Dockerfile @@ -17,10 +17,13 @@ FROM alpine:3.4 MAINTAINER Apache Software Foundation -ENV LANG=C.UTF-8 \ +ENV LOG_TAG="[ZEPPELIN_BASE]:" \ + LANG=C.UTF-8 \ DUMBINIT_VERSION="1.2.0" -RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ +RUN echo "$LOG_TAG Install basic packages" && \ + apk update && \ + echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-2.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-3.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ @@ -37,7 +40,8 @@ RUN echo "http://dl-1.alpinelinux.org/alpine/edge/community" >> /etc/apk/reposit rm -rf /var/cache/apk/* && \ apk del curl build-base make gcc g++ -RUN { \ +RUN echo "$LOG_TAG Install java ${JAVA_VERSION}" && \ + { \ echo '#!/bin/sh'; \ echo 'set -e'; \ echo; \ From bdaff0fe2bb04656dc40549c8a48edd6858b0ab4 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 17:33:22 +0900 Subject: [PATCH 05/15] fix: Remove exposed ports in base image --- scripts/docker/zeppelin-base/Dockerfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/Dockerfile index 6a74e607709..15a6b108523 100644 --- a/scripts/docker/zeppelin-base/Dockerfile +++ b/scripts/docker/zeppelin-base/Dockerfile @@ -59,7 +59,4 @@ RUN set -x \ openjdk7="$JAVA_ALPINE_VERSION" \ && [ "$JAVA_HOME" = "$(docker-java-home)" ] -# ports for zeppelin -EXPOSE 8080 7077 - ENTRYPOINT ["/usr/bin/dumb-init", "--"] From b5b18a203ea4f795204085b6592b9ad313940fc6 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 18:13:50 +0900 Subject: [PATCH 06/15] feat: Add base_python, base_r --- scripts/docker/zeppelin-base/Dockerfile | 12 +---- .../docker/zeppelin-base_python/Dockerfile | 44 ++++++++++++++++ scripts/docker/zeppelin-base_r/Dockerfile | 52 +++++++++++++++++++ 3 files changed, 98 insertions(+), 10 deletions(-) create mode 100644 scripts/docker/zeppelin-base_python/Dockerfile create mode 100644 scripts/docker/zeppelin-base_r/Dockerfile diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/Dockerfile index 15a6b108523..ce549909f68 100644 --- a/scripts/docker/zeppelin-base/Dockerfile +++ b/scripts/docker/zeppelin-base/Dockerfile @@ -29,16 +29,8 @@ RUN echo "$LOG_TAG Install basic packages" && \ echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-5.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories; \ echo "http://dl-6.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \ - apk add --no-cache bash dumb-init curl wget python build-base make gcc g++ && \ - curl --silent \ - --location https://github.com/sgerrand/alpine-pkg-R/releases/download/3.3.1-r0/R-3.3.1-r0.apk --output /var/cache/apk/R-3.3.1-r0.apk && \ - apk add --no-cache --allow-untrusted /var/cache/apk/R-3.3.1-r0.apk && \ - curl --silent \ - --location https://github.com/sgerrand/alpine-pkg-R/releases/download/3.3.1-r0/R-dev-3.3.1-r0.apk --output /var/cache/apk/R-dev-3.3.1-r0.apk && \ - apk add --no-cache --allow-untrusted /var/cache/apk/R-dev-3.3.1-r0.apk && \ - R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org')" && \ - rm -rf /var/cache/apk/* && \ - apk del curl build-base make gcc g++ + apk add --no-cache bash dumb-init curl wget && \ + rm -rf /var/cache/apk/* RUN echo "$LOG_TAG Install java ${JAVA_VERSION}" && \ { \ diff --git a/scripts/docker/zeppelin-base_python/Dockerfile b/scripts/docker/zeppelin-base_python/Dockerfile new file mode 100644 index 00000000000..7a17c5c56e8 --- /dev/null +++ b/scripts/docker/zeppelin-base_python/Dockerfile @@ -0,0 +1,44 @@ +# 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. +# + +FROM zeppelin:base +MAINTAINER Apache Software Foundation + +ENV LOG_TAG="[ZEPPELIN_BASE_PYTHON]:" + +RUN echo "$LOG_TAG Install required packages" && \ + echo @testing http://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \ + apk add --no-cache --virtual=build_deps build-base make gcc g++ tar + +RUN echo "$LOG_TAG Install python related packages" && \ + # for numpy: https://github.com/docker-library/python/issues/112 + ln -s /usr/include/locale.h /usr/include/xlocale.h && \ + apk add --no-cache --virtual=python_deps \ + py-numpy freetype libpng tk tcl && \ + apk add --no-cache --virtual=python_build_deps \ + musl-dev linux-headers gfortran \ + freetype-dev py-numpy-dev@testing \ + py-numpy python-dev libpng-dev libxml2-dev libxslt-dev \ + tk-dev tcl-dev && \ + apk add --no-cache python py-pip && \ + pip install --no-cache-dir --upgrade pip && \ + pip install --no-cache-dir numpy matplotlib + +RUN echo "$LOG_TAG Cleanup" && \ + apk del build_deps && \ + apk del python_build_deps + + diff --git a/scripts/docker/zeppelin-base_r/Dockerfile b/scripts/docker/zeppelin-base_r/Dockerfile new file mode 100644 index 00000000000..2e531a0562e --- /dev/null +++ b/scripts/docker/zeppelin-base_r/Dockerfile @@ -0,0 +1,52 @@ +# 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. +# + +FROM zeppelin:base +MAINTAINER Apache Software Foundation + +ENV LOG_TAG="[ZEPPELIN_BASE_R]:" \ + LANG=C.UTF-8 \ + R_VERSION="3.3.1-r0" \ + R_LIBS="/usr/local/rbin/R" + +RUN echo "$LOG_TAG Install required packages" && \ + apk add --update --virtual=build_deps build-base make gcc g++ tar + +RUN echo "$LOG_TAG Install R related packages" && \ + mkdir -p $R_LIBS && \ + echo 'R_LIBS=$R_LIBS' >> $R_LIBS/.Renviron && \ + curl --silent --location https://github.com/sgerrand/alpine-pkg-R/releases/download/${R_VERSION}/R-${R_VERSION}.apk \ + --output /var/cache/apk/R-${R_VERSION}.apk && \ + apk add --no-cache --allow-untrusted /var/cache/apk/R-${R_VERSION}.apk && \ + curl --silent --location https://github.com/sgerrand/alpine-pkg-R/releases/download/${R_VERSION}/R-dev-${R_VERSION}.apk \ + --output /var/cache/apk/R-dev-${R_VERSION}.apk && \ + apk add --no-cache --allow-untrusted /var/cache/apk/R-dev-${R_VERSION}.apk && \ + R -e "install.packages('knitr', repos='http://cran.us.r-project.org', lib='$R_LIBS')" && \ + R -e "install.packages('ggplot2', repos='http://cran.us.r-project.org', lib='$R_LIBS')" && \ + R -e "install.packages('googleVis', repos='http://cran.us.r-project.org', lib='$R_LIBS')" && \ + R -e "install.packages('data.table', repos='http://cran.us.r-project.org', lib='$R_LIBS')" && \ + # for devtools, Rcpp + apk add --no-cache --virtual=r_build_deps curl-dev openssl-dev -y && \ + R -e "install.packages('devtools', repos='http://cran.us.r-project.org', lib='$R_LIBS')" && \ + R -e "install.packages('Rcpp', repos='http://cran.us.r-project.org', lib='$R_LIBS')" && \ + Rscript -e "library('devtools', lib.loc='$R_LIBS'); library('Rcpp', lib.loc='$R_LIBS'); devtools::install_github('ramnathv/rCharts', lib='$R_LIBS')" + +RUN R -e "install.packages('gridSVG', repos='http://cran.us.r-project.org', lib='$R_LIBS')" + +RUN echo "$LOG_TAG Cleanup" && \ + apk del build_deps && \ + apk del r_build_deps && \ + rm -rf /tmp From 568538bd414deabfb761fd501dfb908a151eb80e Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 18:53:49 +0900 Subject: [PATCH 07/15] chore: Use zeppelin-base/alpine directory structure --- scripts/docker/zeppelin-base/{ => alpine}/Dockerfile | 0 .../alpine_python}/Dockerfile | 0 .../docker/{zeppelin-base_r => zeppelin-base/alpine_r}/Dockerfile | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename scripts/docker/zeppelin-base/{ => alpine}/Dockerfile (100%) rename scripts/docker/{zeppelin-base_python => zeppelin-base/alpine_python}/Dockerfile (100%) rename scripts/docker/{zeppelin-base_r => zeppelin-base/alpine_r}/Dockerfile (100%) diff --git a/scripts/docker/zeppelin-base/Dockerfile b/scripts/docker/zeppelin-base/alpine/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base/Dockerfile rename to scripts/docker/zeppelin-base/alpine/Dockerfile diff --git a/scripts/docker/zeppelin-base_python/Dockerfile b/scripts/docker/zeppelin-base/alpine_python/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base_python/Dockerfile rename to scripts/docker/zeppelin-base/alpine_python/Dockerfile diff --git a/scripts/docker/zeppelin-base_r/Dockerfile b/scripts/docker/zeppelin-base/alpine_r/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base_r/Dockerfile rename to scripts/docker/zeppelin-base/alpine_r/Dockerfile From 4c764a20a3f239ebfa81fcdac62730302bef4dfe Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 19:24:19 +0900 Subject: [PATCH 08/15] feat: Add create-dockerfile.sh --- .../zeppelin-bin-all/Dockerfile.template | 35 +++++++++++ .../zeppelin-bin-all/create-dockerfile.sh | 61 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 scripts/docker/zeppelin-bin-all/Dockerfile.template create mode 100755 scripts/docker/zeppelin-bin-all/create-dockerfile.sh diff --git a/scripts/docker/zeppelin-bin-all/Dockerfile.template b/scripts/docker/zeppelin-bin-all/Dockerfile.template new file mode 100644 index 00000000000..33d57239c4c --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/Dockerfile.template @@ -0,0 +1,35 @@ +# 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. +# + + +FROM zeppelin:tag +MAINTAINER 1ambda <1amb4a@gmail.com> +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.0.0" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh new file mode 100755 index 00000000000..b8e777dbcba --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +# 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. +# + +if [ $# -lt 2 ]; +then + echo "USAGE: $0 version linux platform" + echo "example: $0 0.7.0 alpine python" + exit 1 +fi + +TAG="[CREATE-DOCKERFILE]" +VERSION=$1 +LINUX=$2 +PLATFORM=$3 +POSTFIX="" + +if [[ ! "x${PLATFORM}" = "x" ]]; then + POSTFIX="_${PLATFORM}" +fi + +BASE_DIR="../zeppelin-base/${LINUX}${POSTFIX}" +TEMPLATE_DOCKERFILE="Dockerfile.template" + +if [ ! -d "$BASE_DIR" ]; then + echo "${TAG} Base Directory doesn't exist: ${BASE_DIR}" + exit 1 +fi + +DOCKER_DIR="${LINUX}/${VERSION}${POSTFIX}" +BASE_IMAGE_TAG="${LINUX}-base${POSTFIX}" + +if [ ! -d "$DOCKER_DIR" ]; then + echo "${TAG} Creating Directory: ${DOCKER_DIR}" + mkdir -p ${DOCKER_DIR} + + echo "${TAG} Copying File: ${DOCKER_DIR}/Dockerfile" + cp ${TEMPLATE_DOCKERFILE} ${DOCKER_DIR}/Dockerfile + + echo "${TAG} Set Base Image Tag: ${TAG}" + sed -i '' -e "s/zeppelin:tag/zeppelin:${BASE_IMAGE_TAG}/g" ${DOCKER_DIR}/Dockerfile + echo "${TAG} Set Version: ${VERSION}" + sed -i '' -e "s/Z_VERSION=\"0.0.0\"/Z_VERSION=\"${VERSION}\"/g" ${DOCKER_DIR}/Dockerfile +else + echo "${TAG} Directory already exists: ${DOCKER_DIR}" +fi + From 156288fac3a83fe2baa9fa58746a90e976cb0136 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 21:24:51 +0900 Subject: [PATCH 09/15] fix: _java postfix --- .../{alpine => alpine_java}/Dockerfile | 0 .../zeppelin-base/alpine_python/Dockerfile | 2 +- scripts/docker/zeppelin-base/alpine_r/Dockerfile | 2 +- .../docker/zeppelin-bin-all/Dockerfile.template | 2 -- .../docker/zeppelin-bin-all/create-dockerfile.sh | 16 ++++++---------- 5 files changed, 8 insertions(+), 14 deletions(-) rename scripts/docker/zeppelin-base/{alpine => alpine_java}/Dockerfile (100%) diff --git a/scripts/docker/zeppelin-base/alpine/Dockerfile b/scripts/docker/zeppelin-base/alpine_java/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base/alpine/Dockerfile rename to scripts/docker/zeppelin-base/alpine_java/Dockerfile diff --git a/scripts/docker/zeppelin-base/alpine_python/Dockerfile b/scripts/docker/zeppelin-base/alpine_python/Dockerfile index 7a17c5c56e8..fc01d27ddcc 100644 --- a/scripts/docker/zeppelin-base/alpine_python/Dockerfile +++ b/scripts/docker/zeppelin-base/alpine_python/Dockerfile @@ -14,7 +14,7 @@ # limitations under the License. # -FROM zeppelin:base +FROM zeppelin:alpine-base_java MAINTAINER Apache Software Foundation ENV LOG_TAG="[ZEPPELIN_BASE_PYTHON]:" diff --git a/scripts/docker/zeppelin-base/alpine_r/Dockerfile b/scripts/docker/zeppelin-base/alpine_r/Dockerfile index 2e531a0562e..9b1dbbe587e 100644 --- a/scripts/docker/zeppelin-base/alpine_r/Dockerfile +++ b/scripts/docker/zeppelin-base/alpine_r/Dockerfile @@ -14,7 +14,7 @@ # limitations under the License. # -FROM zeppelin:base +FROM zeppelin:alpine-base_java MAINTAINER Apache Software Foundation ENV LOG_TAG="[ZEPPELIN_BASE_R]:" \ diff --git a/scripts/docker/zeppelin-bin-all/Dockerfile.template b/scripts/docker/zeppelin-bin-all/Dockerfile.template index 33d57239c4c..dd478975081 100644 --- a/scripts/docker/zeppelin-bin-all/Dockerfile.template +++ b/scripts/docker/zeppelin-bin-all/Dockerfile.template @@ -14,9 +14,7 @@ # limitations under the License. # - FROM zeppelin:tag -MAINTAINER 1ambda <1amb4a@gmail.com> MAINTAINER Apache Software Foundation ENV Z_VERSION="0.0.0" diff --git a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh index b8e777dbcba..1efac3e08e8 100755 --- a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh +++ b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh @@ -16,10 +16,11 @@ # limitations under the License. # -if [ $# -lt 2 ]; +if [ $# -lt 3 ]; then echo "USAGE: $0 version linux platform" - echo "example: $0 0.7.0 alpine python" + echo "example: $0 0.6.0 alpine python" + echo "* platform: [java, python, r]" exit 1 fi @@ -27,13 +28,8 @@ TAG="[CREATE-DOCKERFILE]" VERSION=$1 LINUX=$2 PLATFORM=$3 -POSTFIX="" -if [[ ! "x${PLATFORM}" = "x" ]]; then - POSTFIX="_${PLATFORM}" -fi - -BASE_DIR="../zeppelin-base/${LINUX}${POSTFIX}" +BASE_DIR="../zeppelin-base/${LINUX}_${PLATFORM}" TEMPLATE_DOCKERFILE="Dockerfile.template" if [ ! -d "$BASE_DIR" ]; then @@ -41,8 +37,8 @@ if [ ! -d "$BASE_DIR" ]; then exit 1 fi -DOCKER_DIR="${LINUX}/${VERSION}${POSTFIX}" -BASE_IMAGE_TAG="${LINUX}-base${POSTFIX}" +DOCKER_DIR="${LINUX}/${VERSION}_${PLATFORM}" +BASE_IMAGE_TAG="${LINUX}-base_${PLATFORM}" if [ ! -d "$DOCKER_DIR" ]; then echo "${TAG} Creating Directory: ${DOCKER_DIR}" From 6e519b065fd45e48c26393bb49d586ae5613ebde Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 22:22:44 +0900 Subject: [PATCH 10/15] fix: Base image directory structure --- .../zeppelin-base/{alpine_java => alpine/java}/Dockerfile | 0 .../zeppelin-base/{alpine_python => alpine/python}/Dockerfile | 0 scripts/docker/zeppelin-base/{alpine_r => alpine/r}/Dockerfile | 0 scripts/docker/zeppelin-bin-all/create-dockerfile.sh | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) rename scripts/docker/zeppelin-base/{alpine_java => alpine/java}/Dockerfile (100%) rename scripts/docker/zeppelin-base/{alpine_python => alpine/python}/Dockerfile (100%) rename scripts/docker/zeppelin-base/{alpine_r => alpine/r}/Dockerfile (100%) diff --git a/scripts/docker/zeppelin-base/alpine_java/Dockerfile b/scripts/docker/zeppelin-base/alpine/java/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base/alpine_java/Dockerfile rename to scripts/docker/zeppelin-base/alpine/java/Dockerfile diff --git a/scripts/docker/zeppelin-base/alpine_python/Dockerfile b/scripts/docker/zeppelin-base/alpine/python/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base/alpine_python/Dockerfile rename to scripts/docker/zeppelin-base/alpine/python/Dockerfile diff --git a/scripts/docker/zeppelin-base/alpine_r/Dockerfile b/scripts/docker/zeppelin-base/alpine/r/Dockerfile similarity index 100% rename from scripts/docker/zeppelin-base/alpine_r/Dockerfile rename to scripts/docker/zeppelin-base/alpine/r/Dockerfile diff --git a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh index 1efac3e08e8..50fd4eccb1b 100755 --- a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh +++ b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh @@ -29,7 +29,7 @@ VERSION=$1 LINUX=$2 PLATFORM=$3 -BASE_DIR="../zeppelin-base/${LINUX}_${PLATFORM}" +BASE_DIR="../zeppelin-base/${LINUX}/${PLATFORM}" TEMPLATE_DOCKERFILE="Dockerfile.template" if [ ! -d "$BASE_DIR" ]; then From 2be0a52b2e6000037f0cd506444646d8c90e5427 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 22:23:04 +0900 Subject: [PATCH 11/15] docs: Update docker docs --- docs/install/docker.md | 44 +++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/docs/install/docker.md b/docs/install/docker.md index c7b6f699aad..9aebf23539b 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -23,14 +23,45 @@ limitations under the License.
-## Overview -This document contains instructions about making docker containers for Zeppelin. It mainly provides guidance into how to create, publish and run docker images for zeppelin releases. - ## Quick Start -### Installing Docker + You need to [install docker](https://docs.docker.com/engine/installation/) on your machine. -### Creating and Publishing Zeppelin docker image +### Official Docker Images + +#### Running Official Docker Images + +```bash +$ docker run -it --name zeppelin --rm -p 8080:8080 -p 7077:7077 zeppelin:tag +``` + +Supported tags and respective `Dockerfile` links + +* `alpine-0.6.2_java` +* `alpine-0.6.2_r` (has R related packages based on `alpine_java` images) +* `alpine-0.6.2_python` (has python related packages based on `alpine_java` images) + +Since alpine linux doesn't have graphical device, some function may not work (e.g `plot` in R) + +#### Creating Official Dockerfiles + +Currently, zeppelin supports alpine linux docker images + +```bash +$ scripts/docker/zeppelin-bin-all/create-dockerfile.sh -h + +USAGE: ./create-dockerfile.sh version linux platform +* version: 0.6.2 (released zeppelin binary version) +* linux: [alpine] +* platform: [java, python, r] + +# for example +$ ./create-dockerfile.sh 0.6.2 alpine java +``` + +### Custom Docker Images + +#### Creating and Publishing Zeppelin docker image * In order to be able to create and/or publish an image, you need to set the **DockerHub** credentials `DOCKER_USERNAME, DOCKER_PASSWORD, DOCKER_EMAIL` variables as environment variables. * To create an image for some release use : @@ -38,7 +69,7 @@ You need to [install docker](https://docs.docker.com/engine/installation/) on yo * To publish the created image use : `publish_release.sh ` -### Running a Zeppelin docker image +#### Running a Zeppelin docker image * To start Zeppelin, you need to pull the zeppelin release image: ``` @@ -65,6 +96,5 @@ docker run -p 7077:7077 -p 8080:8080 --privileged=true -v $PWD/logs:/logs -v $PW /usr/local/zeppelin/bin/zeppelin.sh ``` - * Zeppelin will run at `http://localhost:8080`. From 908041c1c16625959be7e8760c29bc9d36472d3a Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 22:35:44 +0900 Subject: [PATCH 12/15] fix: Update create-dockerfile usage message --- scripts/docker/zeppelin-bin-all/create-dockerfile.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh index 50fd4eccb1b..5458350777b 100755 --- a/scripts/docker/zeppelin-bin-all/create-dockerfile.sh +++ b/scripts/docker/zeppelin-bin-all/create-dockerfile.sh @@ -19,7 +19,8 @@ if [ $# -lt 3 ]; then echo "USAGE: $0 version linux platform" - echo "example: $0 0.6.0 alpine python" + echo "* version: 0.6.2 (released zeppelin binary version)" + echo "* linux: [alpine]" echo "* platform: [java, python, r]" exit 1 fi From a8aff3f0274ad97d41213a40743ea6eaa416bb25 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 22:36:13 +0900 Subject: [PATCH 13/15] feat: Add 0.6.2 bin images --- .../alpine/0.6.2_java/Dockerfile | 33 +++++++++++++++++++ .../alpine/0.6.2_python/Dockerfile | 33 +++++++++++++++++++ .../alpine/0.6.2_r/Dockerfile | 33 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.2_java/Dockerfile create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.2_python/Dockerfile create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.2_r/Dockerfile diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.2_java/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.2_java/Dockerfile new file mode 100644 index 00000000000..9da3773af0a --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.2_java/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_java +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.2" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.2_python/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.2_python/Dockerfile new file mode 100644 index 00000000000..88fb9e91569 --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.2_python/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_python +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.2" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.2_r/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.2_r/Dockerfile new file mode 100644 index 00000000000..dea808a7c6e --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.2_r/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_r +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.2" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] From 55c62dcd04485b6fc1ef5c4d3f53a94b636c989c Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 22:36:40 +0900 Subject: [PATCH 14/15] feat: Add 0.6.1 bin images --- .../alpine/0.6.1_java/Dockerfile | 33 +++++++++++++++++++ .../alpine/0.6.1_python/Dockerfile | 33 +++++++++++++++++++ .../alpine/0.6.1_r/Dockerfile | 33 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.1_java/Dockerfile create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.1_python/Dockerfile create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.1_r/Dockerfile diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.1_java/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.1_java/Dockerfile new file mode 100644 index 00000000000..5ad1d9ecdf6 --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.1_java/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_java +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.1" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.1_python/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.1_python/Dockerfile new file mode 100644 index 00000000000..5a5d134527e --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.1_python/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_python +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.1" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.1_r/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.1_r/Dockerfile new file mode 100644 index 00000000000..e281334cf2c --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.1_r/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_r +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.1" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] From b7b0fa0b972087d0dffe106b8b581133689f26be Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 14 Dec 2016 22:37:00 +0900 Subject: [PATCH 15/15] feat: Add 0.6.0 bin images --- .../alpine/0.6.0_java/Dockerfile | 33 +++++++++++++++++++ .../alpine/0.6.0_python/Dockerfile | 33 +++++++++++++++++++ .../alpine/0.6.0_r/Dockerfile | 33 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.0_java/Dockerfile create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.0_python/Dockerfile create mode 100644 scripts/docker/zeppelin-bin-all/alpine/0.6.0_r/Dockerfile diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.0_java/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.0_java/Dockerfile new file mode 100644 index 00000000000..52a41717472 --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.0_java/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_java +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.0" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.0_python/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.0_python/Dockerfile new file mode 100644 index 00000000000..a5616bbcbe8 --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.0_python/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_python +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.0" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin-bin-all/alpine/0.6.0_r/Dockerfile b/scripts/docker/zeppelin-bin-all/alpine/0.6.0_r/Dockerfile new file mode 100644 index 00000000000..b4917a6aef9 --- /dev/null +++ b/scripts/docker/zeppelin-bin-all/alpine/0.6.0_r/Dockerfile @@ -0,0 +1,33 @@ +# 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. +# + +FROM zeppelin:alpine-base_r +MAINTAINER Apache Software Foundation + +ENV Z_VERSION="0.6.0" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" + +RUN echo "$LOG_TAG install zeppelin ${Z_VERSION}" && \ + wget http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +EXPOSE 8080 7077 + +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"]