From a83e7b08eaf3774913641c784e626156179aa32a Mon Sep 17 00:00:00 2001 From: Priyanka Kukreja Date: Thu, 17 Mar 2016 11:13:35 +0530 Subject: [PATCH 1/2] Dockerfile and script to create an Ubuntu image --- docker/Dockerfile | 23 ++++++++++++++++++++ docker/start_zeppelin.sh | 45 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 docker/Dockerfile create mode 100755 docker/start_zeppelin.sh diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..3efd9b6 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu:14.04 + +MAINTAINER Priyanka Kukreja + +# Installing Java +RUN sudo apt-get -y update && sudo apt-get -y install openjdk-7-jdk && export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 && export PATH=$JAVA_HOME/bin:$PATH + +# COPY Zeppelin Jars +RUN mkdir /home/incubator-zeppelin +COPY incubator-zeppelin/interpreter /home/incubator-zeppelin/interpreter +COPY incubator-zeppelin/bin /home/incubator-zeppelin/bin +COPY incubator-zeppelin/conf /home/incubator-zeppelin/conf +COPY incubator-zeppelin/notebook /home/incubator-zeppelin/notebook +RUN mkdir -p /home/incubator-zeppelin/zeppelin-web +COPY incubator-zeppelin/zeppelin-web/target /home/incubator-zeppelin/zeppelin-web +RUN mkdir -p /home/incubator-zeppelin/zeppelin-zengine/target/ +RUN mkdir -p /home/incubator-zeppelin/zeppelin-server/target/ +COPY incubator-zeppelin/zeppelin-zengine/target/lib /home/incubator-zeppelin/zeppelin-zengine/target +COPY incubator-zeppelin/zeppelin-server/target/lib /home/incubator-zeppelin/zeppelin-server/target +COPY incubator-zeppelin/zeppelin-server/target /home/incubator-zeppelin/zeppelin-server/target/lib + +WORKDIR /home/incubator-zeppelin/ +CMD ZEPPELIN_CLASSPATH="/home/incubator-zeppelin/interpreter/jdbc/quark-jdbc-4.2.0.jar" bin/zeppelin-daemon.sh start diff --git a/docker/start_zeppelin.sh b/docker/start_zeppelin.sh new file mode 100755 index 0000000..6e71017 --- /dev/null +++ b/docker/start_zeppelin.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# $1: image name +# $2: image version +# $3: name of the container + +# Setup Java +sudo apt-get -y update && sudo apt-get -y install openjdk-7-jdk && export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 && export PATH=$JAVA_HOME/bin:$PATH + +# Setup Maven +sudo apt-get -y install wget && wget -P . http://a.mbbsindia.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && tar -xvf apache-maven-3.3.9-bin.tar.gz -C . + +# Install Zeppelin +sudo apt-get -y install git && git clone https://github.com/apache/incubator-zeppelin.git ../incubator-zeppelin + +# Get Quark Jar +apache-maven-3.3.9/bin/mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get -DrepoUrl=-DrepoUrl=http://repo1.maven.org/maven2 -Dartifact=com.qubole:quark-jdbc:4.2.0 + +# Build Zeppelin +apache-maven-3.3.9/bin/mvn -f ../incubator-zeppelin/pom.xml clean package -DskipTests + +# Copy the zeppelin jars +mkdir incubator-zeppelin +cp -r ../incubator-zeppelin/interpreter ./incubator-zeppelin/interpreter +cp -r ../incubator-zeppelin/bin ./incubator-zeppelin/bin +cp -r ../incubator-zeppelin/conf ./incubator-zeppelin/conf +cp -r ../incubator-zeppelin/notebook ./incubator-zeppelin/notebook +mkdir -p ./incubator-zeppelin/zeppelin-web/target/ +cp -r ../incubator-zeppelin/zeppelin-web/target/zeppelin-web*.war ./incubator-zeppelin/zeppelin-web/target/ +mkdir -p ./incubator-zeppelin/zeppelin-zengine/target/lib +mkdir -p ./incubator-zeppelin/zeppelin-server/target/lib +cp -r ../incubator-zeppelin/zeppelin-zengine/target/lib ./incubator-zeppelin/zeppelin-zengine/target/lib +cp -r ../incubator-zeppelin/zeppelin-server/target/lib ./incubator-zeppelin/zeppelin-server/target/lib +cp -r ../incubator-zeppelin/zeppelin-server/target/*.jar ./incubator-zeppelin/zeppelin-server/target + +# Copy quark jar +sudo cp /$HOME/.m2/repository/com/qubole/quark-jdbc/4.2.0/quark-jdbc-4.2.0.jar ./incubator-zeppelin/interpreter/jdbc/ + +# Build the image +sudo docker build -t $1:$2 . + +# run with start zeppelin cmd +sudo docker run -d --name=$3 -p 0.0.0.0:8080:8080 $1:$2 tail -f /dev/null + +sudo docker exec -it $3 /home/incubator-zeppelin/bin/zeppelin-daemon.sh start From c67e5174dce1166c744681f97f2ce817c9df9a5a Mon Sep 17 00:00:00 2001 From: Priyanka Kukreja Date: Thu, 17 Mar 2016 11:22:37 +0530 Subject: [PATCH 2/2] Dockerfile and script to create an Alpine image --- docker/Dockerfile | 4 ++-- docker/start_zeppelin.sh | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 3efd9b6..0e1c8c2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,9 +1,9 @@ -FROM ubuntu:14.04 +FROM alpine:3.3 MAINTAINER Priyanka Kukreja # Installing Java -RUN sudo apt-get -y update && sudo apt-get -y install openjdk-7-jdk && export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 && export PATH=$JAVA_HOME/bin:$PATH +RUN apk --update add openjdk8 && export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk && export PATH=$JAVA_HOME/bin:$PATH # COPY Zeppelin Jars RUN mkdir /home/incubator-zeppelin diff --git a/docker/start_zeppelin.sh b/docker/start_zeppelin.sh index 6e71017..7dcbec6 100755 --- a/docker/start_zeppelin.sh +++ b/docker/start_zeppelin.sh @@ -31,6 +31,7 @@ mkdir -p ./incubator-zeppelin/zeppelin-zengine/target/lib mkdir -p ./incubator-zeppelin/zeppelin-server/target/lib cp -r ../incubator-zeppelin/zeppelin-zengine/target/lib ./incubator-zeppelin/zeppelin-zengine/target/lib cp -r ../incubator-zeppelin/zeppelin-server/target/lib ./incubator-zeppelin/zeppelin-server/target/lib +#cp ../incubator-zeppelin/zeppelin-server/target/zeppelin-server-0.6.0-incubating-SNAPSHOT.jar ./incubator-zeppelin/zeppelin-server/target cp -r ../incubator-zeppelin/zeppelin-server/target/*.jar ./incubator-zeppelin/zeppelin-server/target # Copy quark jar @@ -39,7 +40,9 @@ sudo cp /$HOME/.m2/repository/com/qubole/quark-jdbc/4.2.0/quark-jdbc-4.2.0.jar . # Build the image sudo docker build -t $1:$2 . -# run with start zeppelin cmd +# run with start zeppelin cmd -- take care container does not stop sudo docker run -d --name=$3 -p 0.0.0.0:8080:8080 $1:$2 tail -f /dev/null +sudo docker exec -it $3 apk add bash + sudo docker exec -it $3 /home/incubator-zeppelin/bin/zeppelin-daemon.sh start