docker: Allow passing $DOCKER_USER to set the username in the container
Needs to be reflected in the documentation and the dockerhub description now. Closes #881
This commit is contained in:
parent
221e95ee89
commit
4c4a7413a1
@ -35,9 +35,10 @@ RUN ARCH="$(dpkg --print-architecture)" && \
|
|||||||
printf "user: coder\ngroup: coder\n" > /etc/fixuid/config.yml
|
printf "user: coder\ngroup: coder\n" > /etc/fixuid/config.yml
|
||||||
|
|
||||||
COPY release-packages/code-server*.deb /tmp/
|
COPY release-packages/code-server*.deb /tmp/
|
||||||
|
COPY ci/release-image/entrypoint.sh /usr/bin/entrypoint.sh
|
||||||
RUN dpkg -i /tmp/code-server*$(dpkg --print-architecture).deb && rm /tmp/code-server*.deb
|
RUN dpkg -i /tmp/code-server*$(dpkg --print-architecture).deb && rm /tmp/code-server*.deb
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
USER coder
|
USER coder
|
||||||
WORKDIR /home/coder
|
WORKDIR /home/coder
|
||||||
ENTRYPOINT ["dumb-init", "fixuid", "-q", "/usr/bin/code-server", "--bind-addr", "0.0.0.0:8080", "."]
|
ENTRYPOINT ["/usr/bin/entrypoint.sh", "--bind-addr", "0.0.0.0:8080", "."]
|
||||||
|
18
ci/release-image/entrypoint.sh
Executable file
18
ci/release-image/entrypoint.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
if [ "${DOCKER_USER-}" ]; then
|
||||||
|
echo "$DOCKER_USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/nopasswd > /dev/null
|
||||||
|
sudo usermod --login "$DOCKER_USER" \
|
||||||
|
--move-home --home "/home/$DOCKER_USER" \
|
||||||
|
coder
|
||||||
|
sudo groupmod -n "$DOCKER_USER" coder
|
||||||
|
|
||||||
|
sudo sed -i "/coder/d" /etc/sudoers.d/nopasswd
|
||||||
|
sudo sed -i "s/coder/$DOCKER_USER/g" /etc/fixuid/config.yml
|
||||||
|
export HOME="/home/$DOCKER_USER"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This isn't set by default.
|
||||||
|
export USER="$(whoami)"
|
||||||
|
dumb-init fixuid -q /usr/bin/code-server "$@"
|
Loading…
Reference in New Issue
Block a user