Dockerfile snippets Non-root user on Alpine FROM alpine:3.22 # Create non-root user RUN addgroup -g 1000 nonrootgroup && \ adduser -D -u 1000 -G nonrootgroup nonrootuser WORKDIR /app COPY --chown=nonrootuser:nonrootgroup ... # Switch to non-root user USER nonrootuser Non-root user on Debian # Create non-root system user with explicit UID/GID RUN addgroup --system --gid 1001 nonrootgroup && \ adduser --system --uid 1001 --ingroup nonrootgroup nonrootuser WORKDIR /app COPY --chown=nonrootuser:nonrootgroup ... # Switch to non-root user USER nonrootuser Non-root user on Debian with home dir # Create non-root system user with explicit UID/GID and home directory RUN addgroup --system --gid 1001 nonrootgroup && \ adduser --system --uid 1001 --ingroup nonrootgroup --home /home/nonrootuser nonrootuser WORKDIR /app COPY --chown=nonrootuser:nonrootgroup ... # Switch to non-root user USER nonrootuser