Docker. 내 애플리케이션 Dockerizing 하기

0. 기반 파일 https://github.com/nice-card/express-example 1. 프로젝트 위치 확인 현재 경로를 프로젝트 경로로 설정하고 확인하기 2. Dockerfile, .dockerignore 추가 프로젝트 루트에 Dockerfile을 새로 만들기. Dockerfile 프로젝트 루트에 만들기. # === build stage === FROM node:20-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci # dev 포함 (tsc 사용) COPY . . RUN npm run build # dist/ 생성 # === runtime stage === FROM node:20-alpine WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ RUN npm ci --omit=dev # 런타임에 필요한 것만 # 빌드 결과만 가져오기 COPY --from=build /app/dist ./dist EXPOSE 3000 CMD ["npm", "start"] # package.json의 "start": "node dist/index.js" .dockerignore 불필요한 파일이 이미지에 안 들어가게 막는 용도 ...

October 9, 2025