summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile13
-rwxr-xr-xscripts/docker-entrypoint.sh17
2 files changed, 25 insertions, 5 deletions
diff --git a/Dockerfile b/Dockerfile
index b35997a9..efa7e2bf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,6 +5,7 @@ FROM debian:jessie
RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee -a /etc/apt/sources.list &&\
apt-get update && apt-get install -y \
+ gosu \
vim \
git \
make \
@@ -143,10 +144,12 @@ RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packe
curl -K- | gzip -d > /usr/bin/packer && \
chmod +x /usr/bin/packer
+COPY scripts/docker-entrypoint.sh /usr/local/bin/
# Create vyos_bld user account and enable sudo
-RUN useradd -ms /bin/bash -u 1006 --gid users vyos_bld && \
- usermod -aG sudo vyos_bld && \
- echo "%sudo ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
+#RUN useradd -ms /bin/bash -u 1006 --gid users vyos_bld && \
+# usermod -aG sudo vyos_bld && \
+# echo "%sudo ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
-USER vyos_bld
-WORKDIR /home/vyos_bld
+#USER vyos_bld
+#WORKDIR /home/vyos_bld
+ENTRYPOINT ["docker-entrypoint.sh"]
diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh
new file mode 100755
index 00000000..7520a8d9
--- /dev/null
+++ b/scripts/docker-entrypoint.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -e
+
+# Use GOSU_USER if its specified, else wirking dir user
+if [ -n "$GOSU_USER" ]; then
+ ID=$GOSU_USER
+else
+ ID=$(stat -c "%u:%g" .)
+fi
+
+# Don't use GOSU if we are root
+if [ ! "$ID" = "0:0" ]; then
+ exec gosu $ID "$@"
+else
+ exec "$@"
+fi