Created
September 23, 2019 16:29
-
-
Save alexhrescale/3f91fd4e58518d921934d3568ef24adb to your computer and use it in GitHub Desktop.
nix package manager from alpine with sudo and admin user
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# set up base alpine image | |
ADMINUSER=$1 | |
if [ ! -e nixos-docker ]; then | |
git clone https://github.com/NixOS/docker nixos-docker | |
fi | |
pushd nixos-docker > /dev/null | |
git checkout Dockerfile | |
cp Dockerfile Dockerfile.orig | |
cat Dockerfile.orig | | |
sed "s/addgroup/sudo addgroup/" | | |
sed "s/adduser/sudo adduser/" | | |
sed "s/mkdir/sudo mkdir/" | | |
sed "s/ln /sudo ln /" | | |
sed "s/rm /sudo rm /" | | |
sed "s|rm -r /nix|rm -r /tmp/nix|" | | |
sed "s|/profiles/default|/profiles/per-user/$ADMINUSER/profile|" | | |
sed "s|/profiles/per-user/root|/profiles/per-user/$ADMINUSER|" | | |
sed "s/0755/0777/" | | |
sed "s/USER=root/USER=$ADMINUSER/" | | |
sed "/# Download/i RUN apk add sudo" | | |
sed "/# Download/i RUN adduser -D $ADMINUSER && echo '$ADMINUSER ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers" | | |
sed "/# Download/i USER $ADMINUSER" | | |
sed "/# Download/i WORKDIR /tmp" | | |
sed "/^ENV/i WORKDIR /home/$ADMINUSER" | | |
tee Dockerfile | |
sudo su -c "$(which docker) build -t alpine-with-admin-user ." | |
popd > /dev/null |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment