forked from SquareandCompass/criu-for-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.debian
44 lines (33 loc) · 1.29 KB
/
Dockerfile.debian
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
FROM <app image>
ARG user=root
USER root
# Add sid repo for criu
RUN echo 'deb http://ftp.de.debian.org/debian sid main' >> /etc/apt/sources.list
RUN PREREQS="criu iptables vim"; \
if [ "$user" != "root" ]; then \
PREREQS="sudo $PREREQS"; \
fi \
&& apt update && apt install -y --no-install-recommends ${PREREQS} \
&& rm -rf /var/lib/apt/lists/* \
&& if [ "$user" != "root" ]; then \
sed -i 's/%sudo\tALL=(ALL:ALL) ALL/%sudo\tALL=(ALL) NOPASSWD:ALL/' /etc/sudoers \
&& usermod -aG sudo $user; fi
WORKDIR /opt/appcr
RUN mkdir -p /opt/appcr/cr_logs \
&& chown -R ${user}:0 /opt/appcr/cr_logs \
&& chmod -R g+rw /opt/appcr/cr_logs
ADD appcr.sh /opt/appcr/appcr.sh
ADD common_env_vars.sh /opt/appcr/common_env_vars.sh
ARG app
ADD ${app}/run_app.sh /opt/appcr/run_app.sh
ADD ${app}/app_env_vars.sh /opt/appcr/app_env_vars.sh
RUN chown -R ${user}:0 /opt/appcr/appcr.sh \
&& chmod -R g+rw /opt/appcr/appcr.sh \
&& chown -R ${user}:0 /opt/appcr/run_app.sh \
&& chmod -R g+rw /opt/appcr/run_app.sh \
&& chown -R ${user}:0 /opt/appcr/app_env_vars.sh \
&& chmod -R g+rw /opt/appcr/app_env_vars.sh \
&& chown -R ${user}:0 /opt/appcr/common_env_vars.sh \
&& chmod -R g+rw /opt/appcr/common_env_vars.sh
USER $user
ENTRYPOINT ["/opt/appcr/appcr.sh"]