반응형

다음은 이 글의 동영상 강좌입니다.

https://youtu.be/Dr4OXDLGsmI

Nestjs 프로젝트를 Docker화 하면 Application을 손쉽게 배포할 수 있습니다.

 

Docker가 설치된 서버에 docker로 빌드된 이미지만 업로드 하고 실행하면 됩니다.

github actions, aws pipeline등을 사용하면 모든 배포 단계를 자동화 할 수 있습니다.

이런 자동화를 통해 프로젝트의 생산성을 획기적으로 높일 수 있고,
개발자를 배포의 늪에서 해방 시켜 업무의 만족도를 높일 수 있습니다.

 

사전 설치 프로그램

우선 다음 프로그램을 설치합니다.

  • Nodejs
  • Docker
  • Nestjs를 사용하기 위해 nest cli를 설치합니다.
npm i -g @nestjs/cli

 

프로젝트 생성 및 실행

Nestjs 프로젝트를 생성합니다.

nest new nest-docker

 

프로젝트를 실행합니다.

npm start

 

Dockerfile / .dockerignore 파일 작성

프로젝트 root 폴더에 "Dockerfile" 파일을 생성합니다.

  • docker image 빌드시 사용하는 설계도입니다.
FROM node:18
RUN mkdir -p /var/app
WORKDIR /var/app
COPY . .
RUN npm install
RUN npm run build
EXPOSE 3000
CMD [ "node", "dist/main.js" ]

프로젝트 root 폴더에 ".dockerignore" 파일을 생성합니다.

  • container에 불필요한 파일들이 복제되는 것을 막기 위한 용도입니다.
.git
*Dockerfile*
node_modules

 

Docker 이미지 생성

다음 명령으로 docker 이미지를 생성합니다.

docker build . -t nest-docker

 

Docker 실행

다음 명령으로 docker를 실행합니다.

docker container run -d -p 3000:3000 nest-docker

 

브라우저에서 확인해보기

브라우저에서 다음 url을 입력하여 확인합니다.

http://localhost:3000

다음과 같이 결과를 확인할 수 있습니다.

 

반응형

+ Recent posts