-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathDockerfile
65 lines (52 loc) · 1.96 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
FROM java:openjdk-8u66-jdk
MAINTAINER tobilg <fb.tools.github@gmail.com>
# packages
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && \
echo "deb http://repos.mesosphere.io/debian jessie main" | tee /etc/apt/sources.list.d/mesosphere.list && \
echo "deb http://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list && \
apt-get update && \
apt-get install --no-install-recommends -y --force-yes mesos=0.25.0-0.2.70.debian81 \
wget \
python \
make \
gcc \
build-essential \
g++
# Overall ENV vars
ENV APP_BASE_PATH /app
ENV SPARK_VERSION 1.6.3
ENV MESOS_BUILD_VERSION 0.25.0-0.2.70
# Install Node.js 5.x
ENV NODE_VERSION v5.1.0
RUN wget --no-check-certificate https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-x64.tar.gz && \
tar -C /usr/local --strip-components 1 -xzf node-$NODE_VERSION-linux-x64.tar.gz && \
rm node-$NODE_VERSION-linux-x64.tar.gz
# Spark ENV vars
ENV SPARK_VERSION_STRING spark-$SPARK_VERSION-bin-hadoop2.6
ENV SPARK_DOWNLOAD_URL http://d3kbcqa49mib13.cloudfront.net/$SPARK_VERSION_STRING.tgz
# Download and unzip Spark
RUN wget $SPARK_DOWNLOAD_URL && \
mkdir -p /usr/local/spark && \
tar xvf $SPARK_VERSION_STRING.tgz -C /tmp && \
cp -rf /tmp/$SPARK_VERSION_STRING/* /usr/local/spark/ && \
rm -rf -- /tmp/$SPARK_VERSION_STRING && \
rm spark-$SPARK_VERSION-bin-hadoop2.6.tgz
# Set SPARK_HOME
ENV SPARK_HOME /usr/local/spark
# Set ASSEMBLY_JAR
ENV ASSEMBLY_JAR $SPARK_HOME/lib/spark-assembly-$SPARK_VERSION-hadoop2.6.0.jar
# Set native Mesos library path
ENV MESOS_NATIVE_JAVA_LIBRARY /usr/local/lib/libmesos.so
# Create folder for app
RUN mkdir -p $APP_BASE_PATH
# Add files
ADD . $APP_BASE_PATH
# Set working directory
WORKDIR $APP_BASE_PATH
# Setup of the configurator
RUN chmod +x index.js && \
chmod +x $APP_BASE_PATH/bin/spark-node && \
npm install -g node-gyp && \
npm install && \
npm run compile
CMD ["node", "/app/bin/spark-node"]