Back-End/NestJS
NestJS 프로젝트 도커 컨테이너에서 실행시키기
개발자_조이킴
2023. 10. 7. 01:34
1. NestJS 프로젝트 생성하기
먼저 NestJS CLI를 전역으로 설치해줍니다.
npm i -g @nestjs/cli
설치 후 CLI 명령어를 이용해 NestJS 프로젝트를 만들어 줍니다!
nest new [프로젝트 이름]
## example
nest new nestjs-docker-example
위 명령어를 입력하면 아래와 같이 패키지 매니저를 선택하라고 나옵니다.
이번 프로젝트는 테스트 용도이므로 저는 무난하게 npm을 선택했습니다.
패키지 매니저 선택한 후 조금만 기다리면
NestJS 프로젝트가 생성됩니다!
2. Dockerfile 생성하기
루트 디렉토리에 DockerFile 파일을 생성합니다.
이제 아래와 같이 Dockerfile을 작성하시면 됩니다.
# Base image
FROM node:18
# Create app directory
WORKDIR /usr/src/app
# A wildcard is used to ensure both package.json AND package-lock.json are copied
COPY package*.json ./
# Install app dependencies
RUN npm install
# Bundle app source
COPY . .
# Creates a "dist" folder with the production build
RUN npm run build
# Start the server using the production build
CMD [ "node", "dist/main.js" ]
3. Docker 이미지 생성하기
Dockerfile 파일 작성을 마친 후, 아래 명령어로 Docker 이미지를 생성합니다.
docker build -t nestjs-docker-example .
아래 명령어로 Docker 이미지가 잘 생성되었는지 확인해봅시다.
docker images
4. Docker 컨테이너 실행
생성된 Docker 이미지로 컨테이너를 생성 및 실행해보겠습니다.
명령어는 아래와 같습니다.
docker run -d -p 80:3000 nestjs-docker-example
5. 확인
브라우저를 키고 localhost:80을 입력하시면 Hello World!를 확인하실 수 있습니다!
References.
- NestJS 공식 문서 : https://docs.nestjs.com/
- NestJS + Dockerfile 작성법 : https://www.tomray.dev/nestjs-docker-production