forked from NEU-SNS/BehavIoT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
59 lines (50 loc) · 1.46 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
# Docker image including the necessary environment to run BehavIoT.
# Base image: Ubuntu 22.04 LTS
FROM ubuntu:22.04
WORKDIR /
# Install packages
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y tshark
RUN apt-get update && apt-get install -y wget git graphviz python3-pip
# Create non-root user
ARG USER=user
ARG UID=1000
ARG HOME=/home/${USER}
RUN groupadd --gid ${UID} ${USER} && \
useradd --uid ${UID} --gid ${UID} -m ${USER}
USER ${USER}
WORKDIR ${HOME}
# Install Python packages
RUN pip3 install --no-warn-script-location \
numpy \
matplotlib \
scikit-learn \
statsmodels \
networkx \
pydot \
jupyter
# Install Java 7
ARG JAVA_HOME=${HOME}/jdk1.7
COPY jdk-7u80-linux-x64.tar.gz ${HOME}/jdk-7u80-linux-x64.tar.gz
RUN tar -xzf jdk-7u80-linux-x64.tar.gz && \
rm jdk-7u80-linux-x64.tar.gz
RUN mv jdk1.7.0_80 ${JAVA_HOME}
ENV JAVA_HOME=${JAVA_HOME}
ENV PATH=${JAVA_HOME}/bin:${PATH}
# Test Java installation
#RUN javac -version
# Install Ant
ARG ANT_HOME=${HOME}/ant1.9
RUN wget https://dlcdn.apache.org/ant/binaries/apache-ant-1.9.16-bin.tar.gz
RUN tar -xzf apache-ant-1.9.16-bin.tar.gz && \
rm apache-ant-1.9.16-bin.tar.gz
RUN mv apache-ant-1.9.16 ${ANT_HOME}
ENV ANT_HOME=${ANT_HOME}
ENV PATH=${ANT_HOME}/bin:${PATH}
# Test Ant installation
#RUN ant -version
# Install Synoptic
#RUN git clone https://github.com/ModelInference/synoptic.git
#WORKDIR ${HOME}/synoptic
#RUN ant synoptic
# Run scripts
#CMD ./run_all.sh