Bash load virtualenv on launch as non-root user in docker
Clash Royale CLAN TAG #URR8PPP up vote 0 down vote favorite I try to make a custom python docker image that spawns a bash session with virtualenv pre-loaded. In order to achieve that I created a entrypoint.sh script: #!/bin/sh USER_ID=$(id -u developer) GROUP_ID=$(id -g developer) if [ $DOCKER_UID !== $USER_ID ]; then usermod -u $DOCKER_UID developer fi if [ $DOCKER_GID !== $GROUP_ID ]; then groupmod -g $DOCKER_GID developer fi cd /home/dev/code if [ -f /home/dev/code/$VENV_FOLDER/bin/activate ]; then # Launch bash with virtualenv preloades as developer user fi And I use the following Dockerfile in order to build de docker image: FROM python:3 ENV DOCKER_UID=1000 ENV DOCKER_GID=1000 ENV VENV_FOLDER=env RUN mkdir /home/dev/code && pip install virtualenv && useradd -d /home/dev -u $DOCKER_UID -g $DOCKER_GID developer COPY entrypoint.sh /usr/bin/entrypoint.sh RUN chmod +x /usr/bin/entrypoint.sh VOLUME /home/dev/code ENTRYPOINT /usr/bin/entrypoint.sh But