티스토리 뷰

React로 개발 후 Nignx로 배포 할 경우, Dockerfile의 멀티 스테이지를 이용하면 Docker 이미지 용량을 줄일 수 있다.

를Node.js는 React 앱을 빌드할 때 필요한데, 배포 단계에서는 빌드 후 생성된 결과물만 필요하므로, Node.js가 필요없어진다.

 

# Step 1: Build (빌드 단계)
FROM node:18 AS builder          # Node.js 환경을 builder라는 이름으로 설정
WORKDIR /app                     # 작업 디렉토리 설정
COPY package*.json ./            # package.json 복사
RUN npm install                  # 의존성 설치
COPY . .                         # 소스 코드 복사
RUN npm run build                # React 앱 빌드 (build 폴더 생성)

# Step 2: Deploy (배포 단계)
FROM nginx:stable-alpine         # Nginx 환경으로 배포
COPY --from=builder /app/build /usr/share/nginx/html  # 빌드 결과물만 복사
EXPOSE 80                        # Nginx 서버 포트 열기
CMD ["nginx", "-g", "daemon off;"]  # Nginx 실행
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함