From 90ae592ff1b835bb7a8ee5999fe0d619242972c5 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Fri, 23 Nov 2018 18:16:59 +0100 Subject: [PATCH] docker: Align also caller's group ID with container This ensures that both UID and GID of the builder user inside the container is aligned with the caller of kas-docker - or that of "docker run" when "-e GROUP_ID=..." is specified. Signed-off-by: Jan Kiszka --- docker-entrypoint | 9 +++++++-- kas-docker | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docker-entrypoint b/docker-entrypoint index fda369d..8a41f02 100755 --- a/docker-entrypoint +++ b/docker-entrypoint @@ -12,6 +12,7 @@ EOF fi USER_ID=${USER_ID:-30000} +GROUP_ID=${GROUP_ID:-30000} if [ $USER_ID == 0 ]; then # We shall run everything as root @@ -19,9 +20,13 @@ if [ $USER_ID == 0 ]; then GOSU="" else - if ! id $USER_ID >/dev/null 2>&1; then + if ! grep -q "^builder:" /etc/group; then + groupadd -o --gid $GROUP_ID builder + fi + if ! id builder >/dev/null 2>&1; then # Create a non-root user that will perform the actual build - useradd --uid $USER_ID --create-home --home-dir /builder builder + useradd -o --uid $USER_ID --gid $GROUP_ID --create-home \ + --home-dir /builder builder fi GOSU="gosu builder" diff --git a/kas-docker b/kas-docker index 7b3685f..ceaf188 100755 --- a/kas-docker +++ b/kas-docker @@ -128,7 +128,7 @@ trace mkdir -p ${KAS_WORK_DIR} DOCKER_ARGS="-v ${REPO_DIR}:/repo:ro \ -v ${KAS_WORK_DIR}:/work:rw --workdir=/work \ - -e USER_ID=$(id -u) --rm" + -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) --rm" if [ -t 1 ]; then DOCKER_ARGS="${DOCKER_ARGS} -t -i"