-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDockerfile
50 lines (42 loc) · 1.61 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
FROM openjdk:8
###########################
# Docker Build config
###########################
ARG SPARK_VERSION=3.1.2
EXPOSE 8080 4040 7077 6066 8081
###########################
# Setup Build Environment
###########################
WORKDIR /kf-etl
ENV ROOT_DIR /kf-etl
USER root
RUN mkdir conf/ bin/ data/
RUN apt-get update && \
apt-get install -y wget unzip
###########################
# Install Spark
###########################
ENV SPARK_HOME ${ROOT_DIR}/spark
ENV SPARK_HASH_TYPE sha512
ENV SPARK_DOWNLOAD_ROOT_PATH https://archive.apache.org/dist
ENV SPARK_NAME spark-${SPARK_VERSION}-bin-hadoop3.2
ENV SPARK_FILENAME ${SPARK_NAME}.tgz
ENV SPARK_HASH_PATH ${SPARK_DOWNLOAD_ROOT_PATH}/spark/spark-${SPARK_VERSION}/${SPARK_FILENAME}.${SPARK_HASH_TYPE}
ENV SPARK_DOWNLOAD_PATH ${SPARK_DOWNLOAD_ROOT_PATH}/spark/spark-${SPARK_VERSION}/${SPARK_FILENAME}
RUN echo "Installing spark..." && \
wget ${SPARK_DOWNLOAD_PATH} && \
tar xfz ${SPARK_FILENAME} && \
mv ${SPARK_NAME}/ ${SPARK_HOME} && \
rm ${SPARK_FILENAME}
ADD kf-portal-etl-docker/etl/spark_config/slaves ${SPARK_HOME}/conf/
ADD kf-portal-etl-docker/etl/spark_config/spark-env.sh ${SPARK_HOME}/conf/
ADD kf-portal-etl-docker/etl/scripts/kf-etl-submit.sh ${ROOT_DIR}/bin/
RUN chmod +x ${ROOT_DIR}/bin/kf-etl-submit.sh
###########################
# Configure Run command
###########################
ENV KF_PORTAL_ETL_JAR ${ROOT_DIR}/data/kf-portal-etl.jar
# WARNING: this must be mounted externally
ENV ETL_CONF_FILE /kf-etl/conf/kf_etl.conf
ADD target/scala-2.12/kf-portal-etl.jar ${KF_PORTAL_ETL_JAR}
ENTRYPOINT ["/kf-etl/bin/kf-etl-submit.sh"]