Support non default UID/GID for build container

Set the current UID and GID of the executing user as build arguments for
the build of the container, so that environments with other UIDs and GIDs
than 1000 are supported.
This commit is contained in:
Hannes Fuchs 2023-04-18 21:26:12 +02:00
parent d1b215aeec
commit f0528f835f
No known key found for this signature in database
2 changed files with 6 additions and 3 deletions

View File

@ -1,5 +1,8 @@
FROM debian:bullseye-slim FROM debian:bullseye-slim
ARG DUID=1000
ARG DGID=1000
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \ ca-certificates \
@ -30,7 +33,7 @@ RUN mkdir /tmp/ec &&\
mv bin/ec-linux-amd64 /usr/local/bin/editorconfig-checker &&\ mv bin/ec-linux-amd64 /usr/local/bin/editorconfig-checker &&\
rm -rf /tmp/ec rm -rf /tmp/ec
RUN useradd -d /gluon gluon RUN groupadd -g $DGID gluon && useradd -g $DGID -u $DUID -d /gluon gluon
USER gluon USER gluon
VOLUME /gluon VOLUME /gluon

View File

@ -11,11 +11,11 @@ TAG="gluon:${BRANCH:-latest}"
if [ "$(command -v podman)" ] if [ "$(command -v podman)" ]
then then
podman build -t "${TAG}" contrib/docker podman build --build-arg DGID="$(id -g)" --build-arg DUID="$(id -u)" -t "${TAG}" contrib/docker
podman run -it --rm --userns=keep-id --volume="$(pwd):/gluon" "${TAG}" podman run -it --rm --userns=keep-id --volume="$(pwd):/gluon" "${TAG}"
elif [ "$(command -v docker)" ] elif [ "$(command -v docker)" ]
then then
docker build -t "${TAG}" contrib/docker docker build --build-arg DGID="$(id -g)" --build-arg DUID="$(id -u)" -t "${TAG}" contrib/docker
docker run -it --rm --volume="$(pwd):/gluon" "${TAG}" docker run -it --rm --volume="$(pwd):/gluon" "${TAG}"
else else
1>&2 echo "Please install either podman or docker. Exiting" >/dev/null 1>&2 echo "Please install either podman or docker. Exiting" >/dev/null