# 1단계: 빌드 (Node.js) FROM node:20-alpine AS build WORKDIR /app COPY package*.json ./ RUN rm -f package-lock.json && npm install COPY . . RUN npm run build # 2단계: 실행 (Nginx) FROM nginx:alpine WORKDIR /usr/share/nginx/html # 기존 기본 파일 제거 및 빌드 결과물 복사 RUN rm -rf ./* COPY --from=build /app/dist . # React Router SPA 라우팅을 위한 Nginx 설정 적용 RUN echo 'server { \ listen 80; \ location / { \ root /usr/share/nginx/html; \ index index.html index.htm; \ try_files $uri $uri/ /index.html; \ } \ }' > /etc/nginx/conf.d/default.conf # 환경변수 포트 노출 EXPOSE 80 # Nginx 서버 실행 CMD ["nginx", "-g", "daemon off;"]