# # 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 openjdk:8-alpine ARG spark_jars=jars ARG img_path=kubernetes/dockerfiles # Before building the docker image, first build and make a Spark distribution following # the instructions in http://spark.apache.org/docs/latest/building-spark.html. # If this docker file is being used in the context of building your images from a Spark # distribution, the docker build command should be invoked from the top level directory # of the Spark distribution. E.g.: # docker build -t spark:latest -f kubernetes/dockerfiles/spark/Dockerfile . RUN set -ex && \ apk upgrade --no-cache && \ apk add --no-cache bash tini libc6-compat && \ mkdir -p /opt/spark && \ mkdir -p /opt/spark/work-dir \ touch /opt/spark/RELEASE && \ rm /bin/sh && \ ln -sv /bin/bash /bin/sh && \ chgrp root /etc/passwd && chmod ug+rw /etc/passwd RUN mkdir /spark WORKDIR /spark RUN wget https://archive.apache.org/dist/spark/spark-2.3.2/spark-2.3.2-bin-hadoop2.7.tgz RUN tar -xvzf spark-2.3.2-bin-hadoop2.7.tgz WORKDIR /spark/spark-2.3.2-bin-hadoop2.7 RUN cp -R ${spark_jars} /opt/spark/jars COPY jars/clover-spark_2.11-1.0.jar /opt/spark/jars COPY jars/datastax_spark-cassandra-connector-2.3.0-s_2.11.jar /opt/spark/jars COPY jars/redisclient_2.11-3.7.jar /opt/spark/jars RUN cp -R bin /opt/spark/bin RUN cp -R sbin /opt/spark/sbin RUN cp -R conf /opt/spark/conf RUN cp -R ${img_path}/spark/entrypoint.sh /opt/ ENV SPARK_HOME /opt/spark WORKDIR /opt/spark/work-dir RUN rm -rf /spark ENTRYPOINT [ "/opt/entrypoint.sh" ]