Skip to content

Instantly share code, notes, and snippets.

@lopesivan
Created July 18, 2022 06:06
Show Gist options
  • Save lopesivan/6f2f1a0bd5196e64c8d05e5aea378cbb to your computer and use it in GitHub Desktop.
Save lopesivan/6f2f1a0bd5196e64c8d05e5aea378cbb to your computer and use it in GitHub Desktop.
Docker no-root engine
#!/bin/bash
if [ -z "$GID" -o -z "$UID" -o -z "$USER" -o -z "$GROUP" ]; then
echo Running as root
exec "$@"
else
if [ ! $(getent group $GROUP) -a ! $(getent group $GID) ]; then
echo Creating group $GROUP with id $GID
groupadd -g $GID $GROUP
else
echo Group name $GROUP or id $GID already exist
fi
if [ ! $(getent passwd $USER) -a ! $(getent passwd $UID) ]; then
echo Creating user $USER with id $UID
useradd -u $UID -g $GID $USER
else
echo User name $USER or id $UID already exist
fi
export HOME=/home/$USER
mkdir -p $HOME
chown $USER:$GROUP $HOME
exec /opt/bin/su-exec $USER "$@"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment