diff --git a/dev/change_zeppelin_version.sh b/dev/change_zeppelin_version.sh index c12dd814273..1b7891ca8eb 100755 --- a/dev/change_zeppelin_version.sh +++ b/dev/change_zeppelin_version.sh @@ -18,8 +18,8 @@ # usage() { - echo "usage) $0 [Old version] [New version]" - echo " ex. $0 0.7.0-SNAPSHOT 0.7.0" + echo "usage) $0 [OLD version] [NEW version]" + echo " ex. $0 0.8.0-SNAPSHOT 0.8.0" exit 1 } @@ -58,6 +58,9 @@ sed -i '' 's/-'"${FROM_VERSION}"'.jar",/-'"${TO_VERSION}"'.jar",/g' zeppelin-exa sed -i '' 's/"version": "'"${FROM_VERSION}"'",/"version": "'"${TO_VERSION}"'",/g' zeppelin-web/src/app/tabledata/package.json sed -i '' 's/"version": "'"${FROM_VERSION}"'",/"version": "'"${TO_VERSION}"'",/g' zeppelin-web/src/app/visualization/package.json +# Change version in Dockerfile +sed -i '' 's/Z_VERSION="'"${FROM_VERSION}"'"/Z_VERSION="'"${TO_VERSION}"'"/g' scripts/docker/zeppelin/bin/Dockerfile + # When preparing new dev version from release tag, doesn't need to change docs version if is_dev_version "${FROM_VERSION}" || ! is_dev_version "${TO_VERSION}"; then # When prepare new rc for the maintenance release diff --git a/docs/install/docker.md b/docs/install/docker.md index 40be416d421..6b1309ad7de 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -19,7 +19,7 @@ limitations under the License. --> {% include JB/setup %} -# Apache Zeppelin Releases Docker Images +# Docker Image for Apache Zeppelin Releases
@@ -34,7 +34,7 @@ You need to [install docker](https://docs.docker.com/engine/installation/) on yo ### Running docker image ``` -docker run -p 8080:8080 --name zeppelin zeppelin: +docker run -p 8080:8080 --rm --name zeppelin apache/zeppelin: ``` * Zeppelin will run at `http://localhost:8080`. @@ -42,20 +42,20 @@ docker run -p 8080:8080 --name zeppelin zeppelin: If you want to specify `logs` and `notebook` dir, ``` -docker run -p 8080:8080 \ +docker run -p 8080:8080 --rm \ -v $PWD/logs:/logs \ -v $PWD/notebook:/notebook \ -e ZEPPELIN_LOG_DIR='/logs' \ -e ZEPPELIN_NOTEBOOK_DIR='/notebook' \ ---name zeppelin zeppelin: # e.g '0.7.1' +--name zeppelin apache/zeppelin: # e.g '0.7.1' ``` ### Building dockerfile locally ``` cd $ZEPPELIN_HOME -cd scripts/docker/zeppelin +cd scripts/docker/zeppelin/bin -./create-dockerfile.sh # e.g '0.7.1' +docker build -t my-zeppelin:my-tag ./ ``` diff --git a/scripts/docker/zeppelin/0.6.2/Dockerfile b/scripts/docker/zeppelin/0.6.2/Dockerfile deleted file mode 100644 index 26c3d59054c..00000000000 --- a/scripts/docker/zeppelin/0.6.2/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -# 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 Z_VERSION="0.6.2" -ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ - Z_HOME="/zeppelin" - -RUN echo "$LOG_TAG Download Zeppelin binary" && \ - wget -O /tmp/zeppelin-${Z_VERSION}-bin-all.tgz http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ - tar -zxvf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - rm -rf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} - -RUN echo "$LOG_TAG Cleanup" && \ - apt-get autoclean && \ - apt-get clean - -EXPOSE 8080 - -WORKDIR ${Z_HOME} -CMD ["bin/zeppelin.sh"] - diff --git a/scripts/docker/zeppelin/0.7.0/Dockerfile b/scripts/docker/zeppelin/0.7.0/Dockerfile deleted file mode 100644 index 89b49f8c979..00000000000 --- a/scripts/docker/zeppelin/0.7.0/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -# 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 Z_VERSION="0.7.0" -ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ - Z_HOME="/zeppelin" - -RUN echo "$LOG_TAG Download Zeppelin binary" && \ - wget -O /tmp/zeppelin-${Z_VERSION}-bin-all.tgz http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ - tar -zxvf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - rm -rf /zeppelin-${Z_VERSION}-bin-all.tgz && \ - mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} - -RUN echo "$LOG_TAG Cleanup" && \ - apt-get autoclean && \ - apt-get clean - -EXPOSE 8080 - -WORKDIR ${Z_HOME} -CMD ["bin/zeppelin.sh"] - diff --git a/scripts/docker/zeppelin/0.7.1/Dockerfile b/scripts/docker/zeppelin/0.7.1/Dockerfile deleted file mode 100644 index 989efa449e1..00000000000 --- a/scripts/docker/zeppelin/0.7.1/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -# 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 Z_VERSION="0.7.1" -ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ - Z_HOME="/zeppelin" - -RUN echo "$LOG_TAG Download Zeppelin binary" && \ - wget -O /tmp/zeppelin-${Z_VERSION}-bin-all.tgz http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ - tar -zxvf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - rm -rf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} - -RUN echo "$LOG_TAG Cleanup" && \ - apt-get autoclean && \ - apt-get clean - -EXPOSE 8080 - -WORKDIR ${Z_HOME} -CMD ["bin/zeppelin.sh"] - diff --git a/scripts/docker/zeppelin/bin-template/Dockerfile b/scripts/docker/zeppelin/bin-template/Dockerfile deleted file mode 100644 index 95b3586a27d..00000000000 --- a/scripts/docker/zeppelin/bin-template/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -# 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 Z_VERSION="0.0.0" -ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ - Z_HOME="/zeppelin" - -RUN echo "$LOG_TAG Download Zeppelin binary" && \ - wget -O /tmp/zeppelin-${Z_VERSION}-bin-all.tgz http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ - tar -zxvf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - rm -rf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ - mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} - -RUN echo "$LOG_TAG Cleanup" && \ - apt-get autoclean && \ - apt-get clean - -EXPOSE 8080 - -WORKDIR ${Z_HOME} -CMD ["bin/zeppelin.sh"] - diff --git a/scripts/docker/zeppelin/base/Dockerfile b/scripts/docker/zeppelin/bin/Dockerfile similarity index 86% rename from scripts/docker/zeppelin/base/Dockerfile rename to scripts/docker/zeppelin/bin/Dockerfile index 8b6d2f9459e..9fb1aff70f4 100644 --- a/scripts/docker/zeppelin/base/Dockerfile +++ b/scripts/docker/zeppelin/bin/Dockerfile @@ -16,7 +16,10 @@ FROM ubuntu:16.04 MAINTAINER Apache Software Foundation -ENV LOG_TAG="[ZEPPELIN_BASE]:" \ +# `Z_VERSION` will be updated by `dev/change_zeppelin_version.sh` +ENV Z_VERSION="0.8.0-SNAPSHOT" +ENV LOG_TAG="[ZEPPELIN_${Z_VERSION}]:" \ + Z_HOME="/zeppelin" \ LANG=en_US.UTF-8 \ LC_ALL=en_US.UTF-8 @@ -86,5 +89,18 @@ RUN echo "$LOG_TAG Install R related packages" && \ R -e "install.packages('Rcpp', repos='http://cran.us.r-project.org')" && \ Rscript -e "library('devtools'); library('Rcpp'); install_github('ramnathv/rCharts')" +RUN echo "$LOG_TAG Download Zeppelin binary" && \ + wget -O /tmp/zeppelin-${Z_VERSION}-bin-all.tgz http://archive.apache.org/dist/zeppelin/zeppelin-${Z_VERSION}/zeppelin-${Z_VERSION}-bin-all.tgz && \ + tar -zxvf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ + rm -rf /tmp/zeppelin-${Z_VERSION}-bin-all.tgz && \ + mv /zeppelin-${Z_VERSION}-bin-all ${Z_HOME} + +RUN echo "$LOG_TAG Cleanup" && \ + apt-get autoclean && \ + apt-get clean + +EXPOSE 8080 + ENTRYPOINT [ "/usr/bin/tini", "--" ] -CMD [ "/bin/bash" ] +WORKDIR ${Z_HOME} +CMD ["bin/zeppelin.sh"] diff --git a/scripts/docker/zeppelin/create-dockerfile.sh b/scripts/docker/zeppelin/create-dockerfile.sh deleted file mode 100755 index 8e1e06ee638..00000000000 --- a/scripts/docker/zeppelin/create-dockerfile.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/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 1 ]; -then - echo "USAGE: $0 version" - echo "* version: 0.6.2 (released zeppelin binary version)" - exit 1 -fi - -TAG="[CREATE-DOCKERFILE]" -VERSION=$1 - -BASE_DIR="./base/" -TEMPLATE_DOCKERFILE="./bin-template/Dockerfile" - -if [ ! -d "$BASE_DIR" ]; then - echo "${TAG} Base Directory doesn't exist: ${BASE_DIR}" - exit 1 -fi - -TARGET_DIR="${VERSION}" -BASE_IMAGE_TAG="base" - -if [ ! -d "$TARGET_DIR" ]; then - echo "${TAG} Creating Directory: ${TARGET_DIR}" - mkdir -p ${TARGET_DIR} - - echo "${TAG} Copying File: ${TARGET_DIR}/Dockerfile" - cp ${TEMPLATE_DOCKERFILE} ${TARGET_DIR}/Dockerfile - - echo "${TAG} Set Version: ${VERSION}" - sed -i '' -e "s/Z_VERSION=\"0.0.0\"/Z_VERSION=\"${VERSION}\"/g" ${TARGET_DIR}/Dockerfile -else - echo "${TAG} Directory already exists: ${TARGET_DIR}" -fi