From bbbcd09b448a3f4b3bd88b31ae76bbf20c7b9e8a Mon Sep 17 00:00:00 2001 From: Jeremy Chauvin Date: Fri, 18 Feb 2022 08:01:36 +0100 Subject: [PATCH] :whale: refactor to add user --- Dockerfile | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index af6f2350..e785e887 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,22 +31,31 @@ FROM node:16.13.2-alpine ENV PORT=80 \ DIRECTORY=/app \ IS_DOCKER=true \ - UID=1000 \ - GUID=1000 + USER=docker \ + UID=12345 \ + GID=23456 -# Create a group and user -RUN addgroup --gid ${GUID} application \ - && adduser --no-create-home --uid ${UID} application application +# Install tini for initialization and tzdata for setting timezone +RUN apk add --no-cache tzdata tini \ + # Add group + && addgroup --gid ${GID} "${USER}" \ + # Add user + && adduser \ + --disabled-password \ + --ingroup "${USER}" \ + --gecos "" \ + --home "${DIRECTORY}" \ + --no-create-home \ + --uid "$UID" \ + "$USER" + +USER ${USER} -USER application # Create and set the working directory WORKDIR ${DIRECTORY} -# Install tini for initialization and tzdata for setting timezone -RUN apk add --no-cache tzdata tini - # Copy built application from build phase -COPY --from=BUILD_IMAGE /app ./ +COPY --from=BUILD_IMAGE --chown=${USER}:${USER} /app ./ # Finally, run start command to serve up the built application ENTRYPOINT [ "/sbin/tini", "--" ]