도커 파일 및 스크립트 파일 위치 정리

This commit is contained in:
2025-08-28 13:44:01 +09:00
parent 58d8fb1dd2
commit e9082d7fef
15 changed files with 64 additions and 230 deletions

View File

@@ -0,0 +1,24 @@
# 개발용 백엔드 Dockerfile
FROM node:20-bookworm-slim
WORKDIR /app
# 시스템 패키지 설치
RUN apt-get update \
&& apt-get install -y --no-install-recommends openssl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# package.json 복사 및 의존성 설치 (개발 의존성 포함)
COPY package*.json ./
RUN npm ci --prefer-offline --no-audit
# 소스 코드는 볼륨 마운트로 처리
# Prisma 클라이언트 생성용 스키마만 복사
COPY prisma ./prisma
RUN npx prisma generate
# 포트 노출
EXPOSE 8080
# 개발 서버 시작 (nodemon 사용)
CMD ["npm", "run", "dev"]

View File

@@ -0,0 +1,34 @@
services:
# Node.js 백엔드
backend:
build:
context: ../../backend-node
dockerfile: ../docker/dev/backend.Dockerfile
container_name: pms-backend-mac
ports:
- "8080:8080"
environment:
- NODE_ENV=development
- PORT=8080
- DATABASE_URL=postgresql://postgres:ph0909!!@39.117.244.52:11132/plm
- JWT_SECRET=ilshin-plm-super-secret-jwt-key-2024
- JWT_EXPIRES_IN=24h
- CORS_ORIGIN=http://localhost:9771
- CORS_CREDENTIALS=true
- LOG_LEVEL=debug
volumes:
- ../../backend-node:/app # 개발 모드: 코드 변경 시 자동 반영
- /app/node_modules
networks:
- pms-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
pms-network:
driver: bridge

View File

@@ -0,0 +1,22 @@
services:
# Next.js 프론트엔드만
frontend:
build:
context: ../../frontend
dockerfile: ../docker/dev/frontend.Dockerfile
container_name: pms-frontend-mac
ports:
- "9771:3000"
environment:
- NEXT_PUBLIC_API_URL=http://localhost:8080/api
volumes:
- ../../frontend:/app
- /app/node_modules
- /app/.next
networks:
- pms-network
restart: unless-stopped
networks:
pms-network:
driver: bridge

View File

@@ -0,0 +1,20 @@
# Node.js 18 기반 이미지 사용
FROM node:18-alpine
# 작업 디렉토리 설정
WORKDIR /app
# package.json과 package-lock.json 복사
COPY package*.json ./
# 의존성 설치 (개발 의존성 포함) - 최적화 옵션 추가
RUN npm ci --prefer-offline --no-audit
# 소스 코드 복사
COPY . .
# 포트 노출
EXPOSE 3000
# 개발 서버 시작
CMD ["npm", "run", "dev"]