Skip to content

Commit

Permalink
[test] docker image 경량화
Browse files Browse the repository at this point in the history
  • Loading branch information
edder773 committed Nov 25, 2024
1 parent 8654c5e commit 56b7afe
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
4 changes: 2 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
node_modules
node_modules/
dist
*.log
.git
.gitignore
Dockerfile
docker-compose.yml
build/
22 changes: 14 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,33 @@ WORKDIR /app

# 공통 package.json과 lock 파일을 복사 및 설치
COPY package*.json pnpm-lock.yaml ./
RUN pnpm install
RUN pnpm install --frozen-lockfile --prod # --prod로 프로덕션 의존성만 설치

# 프론트엔드 파일 복사 및 빌드
WORKDIR /app/apps/frontend
COPY apps/frontend ./
RUN pnpm install
COPY apps/frontend ./
RUN pnpm install --prod
RUN pnpm run build

# 백엔드 파일 복사 및 의존성 설치
WORKDIR /app/apps/backend
COPY apps/backend ./
RUN pnpm install
COPY apps/backend ./
RUN pnpm install --prod

# 2단계: 실행 이미지
# 2단계: 실제 실행 이미지
FROM node:20-alpine

# 작업 디렉토리 설정
WORKDIR /app

# 빌드 스테이지에서 필요한 파일만 복사 (pnpm을 제외하고, 빌드된 파일들만 복사)
COPY --from=builder /app /app
# 빌드 스테이지에서 필요한 파일만 복사
COPY --from=builder /app/apps/frontend/dist /app/apps/frontend/dist
COPY --from=builder /app/apps/backend/dist /app/apps/backend/dist
COPY --from=builder /app/package.json /app/package.json
COPY --from=builder /app/pnpm-lock.yaml /app/pnpm-lock.yaml

# 불필요한 의존성 및 파일 복사하지 않기 (예: node_modules)
# 실행 환경에서 pnpm을 전역 설치하지 않음

# 프론트엔드와 백엔드 포트 노출 설정
EXPOSE 3000 8080
Expand Down

0 comments on commit 56b7afe

Please sign in to comment.