optimize Dockerfile and update nginx base image
This commit is contained in:
19
Dockerfile
19
Dockerfile
@@ -1,11 +1,8 @@
|
||||
# Build stage
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
|
||||
COPY . .
|
||||
|
||||
# Build without type checking (vite build only)
|
||||
@@ -15,18 +12,10 @@ ENV SIMPLE_MODE=$SIMPLE_MODE
|
||||
RUN npm run build -- --mode production
|
||||
|
||||
# Production stage
|
||||
FROM nginxinc/nginx-unprivileged:1.29-alpine
|
||||
FROM nginxinc/nginx-unprivileged:stable-alpine-slim
|
||||
|
||||
# Copy files as root first, then change ownership
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
# Change ownership while still root, then switch to nginx user
|
||||
USER root
|
||||
RUN mkdir -p /etc/nginx/tmp && \
|
||||
chown -R nginx:nginx /usr/share/nginx/html /etc/nginx/tmp
|
||||
USER nginx
|
||||
|
||||
EXPOSE 8080
|
||||
COPY --chown=nginx:nginx --from=builder /app/dist /usr/share/nginx/html
|
||||
COPY --chown=nginx:nginx nginx.conf /etc/nginx/nginx.conf
|
||||
RUN mkdir -p /etc/nginx/tmp && chown -R nginx:nginx /etc/nginx/tmp
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
|
||||
Reference in New Issue
Block a user