개발

nestjs 앱 docker로 배포하기

박붕어 2023. 12. 7. 23:13
  1. Dockerfile 작성
FROM node:16-alpine

RUN mkdir /app
WORKDIR /app

ADD . .

EXPOSE 80

RUN npm install 

CMD ["node", "dist/src/main.js"] # 또는 CMD ["node", "dist/main.js"]
  1. .dockerignore 작성
custom-logs-all
.vscode
node_modules
.env
Dockerfile

.git
.cache

\\*.md
README.md
  1. 프로젝트 빌드
npm run build
yarn run build 
  1. 이미지 빌드
docker build -t {user name}/{image name} .
  1. 이미지 업로드
docker login 
docker push {user name}/{image name}:{image version}
  1. 환경변수 설정
vi .env 
  1. 이미지 실행

-v 옵션으로 로그 저장

docker run -it --env-file ./.env -d -p {source port}:{destination port} --name {container name} {user name}/{image name}:{image version}
docker run -it --env-file ./.env -d -p 3000:3000 -v ~/Workspaces/projects/docker/custom-logs-all:/app/custom-logs-all --name test boong_u/test:latest
  1. 테스트

curl or 브라우저로 잘 동작하는지 확인