From a0444f02c2ecd1ce0f48db4ef265b25e4266eb7c Mon Sep 17 00:00:00 2001 From: Ozan Alpay Date: Fri, 22 Jun 2018 11:21:59 +0200 Subject: [PATCH] Run docker-containers as user instead of root. Whoami problem, which occurs when running docker containers as a user, solved. --- scripts/compile-kernel.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/scripts/compile-kernel.sh b/scripts/compile-kernel.sh index eedf8f0..ae308df 100755 --- a/scripts/compile-kernel.sh +++ b/scripts/compile-kernel.sh @@ -94,14 +94,20 @@ case "$3" in esac # Start docker container and run build command - +USER_ID=$(id -u) +GROUP_ID=$(id -g) +USER_NAME=$(whoami) +GROUP_NAME=$(id -g -n $USER_NAME) case "$COMPILER" in gcc) docker run \ --rm \ -v "$KERNEL_SRC_DIR:/linux/" \ kernel-gcc \ - /bin/sh -c "cd linux && make clean && make $KERNEL_CONFIG && make -j32" + /bin/sh -c "cd linux && \ + groupadd --gid $GROUP_ID $GROUP_NAME && \ + adduser --uid $USER_ID --gid $GROUP_ID --disabled-password --no-create-home --gecos '' $USER_NAME && \ + su -p $USER_NAME -c 'make clean && make $KERNEL_CONFIG && make -j32'" ;; clang) docker run \ @@ -109,8 +115,8 @@ case "$COMPILER" in -v "$KERNEL_SRC_DIR:/linux/" \ kernel-clang \ /bin/sh -c "cd linux && \ - make CC=clang-5.0 clean && \ - make HOSTCC=clang-5.0 $KERNEL_CONFIG && \ - make -j32 HOSTCC=clang-5.0 CC=clang-5.0" + groupadd --gid $GROUP_ID $GROUP_NAME && \ + adduser --uid $USER_ID --gid $GROUP_ID --disabled-password --no-create-home --gecos '' $USER_NAME && \ + su -p $USER_NAME -c 'make CC=clang-5.0 clean && make HOSTCC=clang-5.0 $KERNEL_CONFIG && make -j32 HOSTCC=clang-5.0 CC=clang-5.0'" ;; esac