| # |
| # 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 |
| # |
| # This is a dockerfile used to construct the spark environment used for the |
| # integration test suite. |
| |
| FROM jupyter/all-spark-notebook |
| |
| # User escalation |
| USER root |
| |
| # Spark dependencies |
| ENV APACHE_SPARK_VERSION 2.3.4 |
| |
| RUN apt-get -y update && \ |
| apt-get install -y --no-install-recommends openjdk-8-jre-headless && \ |
| apt-get clean && \ |
| rm -rf /var/lib/apt/lists/* && \ |
| update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java |
| |
| # Installing Spark2 |
| RUN cd /tmp && \ |
| wget -q https://archive.apache.org/dist/spark/spark-${APACHE_SPARK_VERSION}/spark-${APACHE_SPARK_VERSION}-bin-hadoop2.6.tgz && \ |
| tar xzf spark-${APACHE_SPARK_VERSION}-bin-hadoop2.6.tgz -C /usr/local && \ |
| rm spark-${APACHE_SPARK_VERSION}-bin-hadoop2.6.tgz |
| |
| # Overwrite symlink |
| RUN cd /usr/local && \ |
| rm spark && \ |
| ln -s spark-${APACHE_SPARK_VERSION}-bin-hadoop2.6 spark |
| |
| # Remove other scala kernels |
| RUN cd /opt/conda/share/jupyter/kernels/ && \ |
| rm -rf spylon-kernel |
| |
| ADD dist/toree /usr/local/share/jupyter/kernels/toree |
| ADD etc/kernel.json /usr/local/share/jupyter/kernels/toree/kernel.json |
| |
| # Fix permissions on /etc/jupyter as root |
| USER root |
| RUN fix-permissions /usr/local/share/jupyter/ |
| |
| # Switch back to jovyan to avoid accidental container runs as root |
| USER $NB_UID |