<aside> 💡

</aside>

배포 시나리오

image.png

image.png

image.png

docker 코드 설명

base docker

FROM node:20-alpine AS base  
# docker 이미지가 node 20.x 버전이 설치되어있는 환경을 바탕으로 실행됩니다. 
# alpine은 이미지 크기를 줄이기 위한 경량화 버전입니다.
# 이미지 이름은 base로 설정됩니다.

WORKDIR /app
# base docker 이미지(환경)에 app 디렉토리를 만들어 해당 디렉토리로 경로를 이동합니다.
# 이 app 디렉토리가 일종의 저희 프로젝트 폴더 역할이 되는 것입니다.

COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./   
# 호스트 서버의 root 폴더 경로에 있는 의존성 설치 관련 파일들을 app/ 디렉토리 하위에 복사시킵니다.

RUN npm install -g pnpm
RUN pnpm fetch
# docker 환경 내에선 pnpm 패키지 매니저가 설치되어있지 않으니, pnpm 패키지 매니저를 설치하고
# pnpm fetch 명령어로 캐시에 의존성 정보들을 캐시해둡니다.

COPY packages ./packages
# 공통적으로 사용되는 packages폴더는 이미지내부에서도 호스트처럼 똑같이 packages 폴더를 만들어 그 하위에 복사해둡니다.

frontend docker