-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathDockerfile.gzip
94 lines (83 loc) · 2.7 KB
/
Dockerfile.gzip
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
FROM ubuntu:16.04
MAINTAINER Chris Timperley "christimperley@gmail.com"
# Create docker user
RUN apt-get update && \
apt-get install --no-install-recommends -y sudo && \
useradd -ms /bin/bash docker && \
echo 'docker ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
adduser docker sudo && \
apt-get clean && \
mkdir -p /home/docker && \
sudo chown -R docker /home/docker && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
USER docker
# reclaim ownership of /usr/local/bin
RUN sudo chown -R docker /usr/local/bin
# install basic packages
RUN sudo apt-get update && \
sudo apt-get upgrade -y subversion && \
sudo apt-get install --no-install-recommends -y \
build-essential \
gcc \
patch \
curl \
libcap-dev \
git \
cmake \
vim \
jq \
tar \
psmisc \
moreutils \
wget \
zip \
unzip \
python3-setuptools \
python \
software-properties-common \
gcovr \
libncurses5-dev && \
sudo apt-get autoremove -y && \
sudo apt-get clean && \
sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Fix /bin/sh to point to /bin/bash
RUN sudo rm /bin/sh && \
sudo ln -s /bin/bash /bin/sh
# install Bear
RUN cd /tmp \
&& wget https://github.com/rizsotto/Bear/archive/2.3.13.tar.gz \
&& tar -xf 2.3.13.tar.gz \
&& cd Bear-2.3.13 \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make \
&& sudo make install \
&& rm -rf /tmp/*
# Create the experiment directory and set it as the work dir
RUN sudo mkdir -p /experiment && sudo chown -R docker /experiment
WORKDIR /experiment
# add generic preprocessing script
ADD base/preprocess /experiment/preprocess
# add compile script
ADD compile.sh /experiment/compile.sh
RUN sudo chown -R docker /experiment && \
sudo chmod +x compile.sh
RUN sudo apt-get update && \
sudo apt-get install -y \
wget \
rsync \
autoconf \
gettext \
autopoint \
texinfo \
gcc-multilib \
psmisc && \
sudo apt-get clean && \
sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV PERLBREW_ROOT "/home/docker/perl5/perlbrew"
ENV PERLBREW_HOME "/home/docker/.perlbrew"
ENV PERLBREW_PATH "${PERLBREW_ROOT}/bin"
ENV PATH "${PERLBREW_PATH}:${PATH}"
RUN wget -O - https://install.perlbrew.pl | bash && \
perlbrew init