Untitled

 avatar
unknown
plain_text
2 months ago
866 B
5
Indexable
FROM node:16-slim

ARG USER_ID
ARG GROUP_ID

# Cài đặt các package cần thiết
RUN apt-get update && apt-get install -y \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Tạo user và group với UID/GID được truyền vào
RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
    groupadd -g ${GROUP_ID} nodegroup && \
    useradd -l -u ${USER_ID} -g nodegroup nodeuser && \
    install -d -m 0755 -o nodeuser -g nodegroup /home/nodeuser \
    ;fi

WORKDIR /app

# Copy package files
COPY package*.json ./

# Set quyền và cài đặt dependencies
RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
    chown -R nodeuser:nodegroup /app \
    ;fi

USER ${USER_ID:-0}:${GROUP_ID:-0}

RUN npm install

# Copy source code
COPY --chown=${USER_ID:-0}:${GROUP_ID:-0} . .

CMD ["npm", "start"]
Editor is loading...
Leave a Comment