forked from google/makani
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
48 lines (36 loc) · 1.35 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
# Creates a debian9 image and runs install_packages.sh.
#
# To create the image, run:
# $ docker build . -t makani --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g)
#
# To start an instance with the created image and access the terminal, run:
# $ xhost +
# $ docker run -it --net=host --privileged -e DISPLAY \
# -v /tmp/.X11-unix:/tmp/.X11-unix \
# -v ${PWD}:/home/makani/makani \
# makani /bin/bash
#
# To run the sim:
# $ sudo route add -net 239.0.0.0 netmask 255.0.0.0 dev lo
# $ run_sim -S -M flight
FROM l.gcr.io/google/debian9:latest
ARG USER_ID
ARG GROUP_ID
RUN apt-get update && apt-get -y install sudo lsb-release wget git procps
RUN addgroup --gid $GROUP_ID user
RUN useradd -m makani -u $USER_ID && echo "makani:makani" | chpasswd && adduser makani sudo
RUN echo "makani ALL=(root) NOPASSWD:ALL" >> /etc/sudoers.d/makani
RUN chmod 0440 /etc/sudoers.d/makani
USER makani
WORKDIR /home/makani
ENV USER=makani
COPY --chown=makani:makani \
lib/bazel/requirements.txt \
/home/makani/makani/lib/bazel/
COPY --chown=makani:makani \
["lib/scripts/mbash.sh" ,"lib/scripts/system.sh", \
"/home/makani/makani/lib/scripts/"]
COPY --chown=makani:makani lib/scripts/install/ \
/home/makani/makani/lib/scripts/install/
ENV MAKANI_HOME=/home/makani/makani
RUN /home/makani/makani/lib/scripts/install/install_packages.sh