Files
paparazzi/docker/dev/Dockerfile
T
Felix Ruess 85fa26e6d3 [docker] use ubuntu 16.04 and deal with user/group ids != 1000
- Update to Ubuntu xenial and switch to new gcc-arm-embedded PPA.
- Hhandle permissions for docker volumes by dynamically changing the id of user pprz to LOCAL_USER_ID.
This should finally make it possible use the shared volume with the paparazzi source in docker on machines where your user/group id is not 1000
2016-05-30 21:18:08 +02:00

48 lines
1.8 KiB
Docker

#From inside this folder
# docker build -t flixr/pprz-dev .
# docker run -t -i flixr/pprz-dev /bin/bash
# run with X11 forwarding:
# sudo docker run -t -i -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix flixr/pprz-dev /bin/bash
FROM flixr/pprz-dep
MAINTAINER Felix Ruess <felix.ruess@gmail.com>
# install some extra convenience packages
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
light-themes \
terminator \
vim
# Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV PULSE_SERVER /run/pulse/native
# add basic user
ENV USERNAME=pprz USER_ID=1000 USERGROUPS=sudo,dialout,plugdev
RUN useradd --shell /bin/bash -u $USER_ID -o -c "Paparazzi Docker user" -m $USERNAME \
&& usermod -aG $USERGROUPS $USERNAME
# set gtk theme
RUN echo include \"/usr/share/themes/Ambiance/gtk-2.0/gtkrc\" > /home/$USERNAME/.gtkrc-2.0
# handle permissions for docker volumes by dynamically changing the id of user pprz to LOCAL_USER_ID (default 1000)
# this uses https://github.com/tianon/gosu/
ENV GOSU_VERSION 1.9
RUN set -x \
&& wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \
&& wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \
&& export GNUPGHOME="$(mktemp -d)" \
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
&& gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
&& rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \
&& chmod +x /usr/local/bin/gosu \
&& gosu nobody true
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["bash"]