1. Docker 란?
: VM(Viture Machine)의 경량화 버전으로, 응용프로그램실행에 꼭 필요한 경량화된 OS 및 서버를 설치하여 컨테이너 기반으로
실행, 관리하는 오픈 소스(하나의 격리된 작은 PC 개념)
(추가설명 링크: https://www.ibm.com/kr-ko/topics/docker )
2. Docker 설치
1) 다운로드 : https://www.docker.com/
Docker: Accelerated Container Application Development
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.
www.docker.com
: 위의 경로에서 설치를 바로 해도 된다.(OS 버전에 맞는걸 선택하자!, Window 의 경우 별도의 WSL 작업이 필요하다)
2) 설치 확인
: docker --version 명령어로 아래와 같이 버전확인이 가능하다.
(Docker Dashboard 에서도 확인 가능)
3. Docker 를 사용하므로써 장점
- 하나의 물리서버에 여러개의 서버생성 가능
- 꼭 필요한 파일만을 설치하여 서버화 가능
- 컨테이너 간의 영향 및 외부프로그램의 영향을 제거하여, dev stage prod 환경을 동일하게 구성가능
(과거, 타 응용프로그램의 영향으로 인해, 코드에 문제가 없음에도 불구하고 오류가 나는경우 발생)
4. Nest js Dockerfile
FROM node:22
RUN mkdir -p /var/app
WORKDIR /var/app
COPY . .
RUN yarn install
RUN yarn build
EXPOSE 3000
CMD [ "node", "dist/main.js" ]
: node 버전은 20 이상 버전을 사용하는것을 추천한다.
(file 명 준수 필요!)
5. 빌드 및 컨테이너 실행
1) 이미지 빌드
: docker build -t servername(원하는 명칭) .
2) 컨테이너 실행
: docker run -d -p 3000:3000 servername
'Node js > Nest js 강의 내용' 카테고리의 다른 글
9. Kafka 설명 & 연동 (한방에 해결하자) (0) | 2025.01.27 |
---|---|
8. Redis 연동 (장바구니 리펙토링) (0) | 2025.01.27 |
6-2 비관적락을 이용한 동시성 제어(with Prisma) (0) | 2025.01.27 |
6-1 서비스 로직 완성 (0) | 2025.01.27 |
5-2. repository 완성 ( with Prisma ) (1) | 2024.12.06 |