[CS] Docker 컨테이너와 VM 비교 Day-69

cptkuk91·2022년 2월 18일
0

CS

목록 보기
115/139

컨테이너와 VM의 비교

둘 다 프로세스, 네트워크, 파일 시스템을 격리할 수 있다는 장점이 있습니다. 하지만 작동원리가 다릅니다.

  • VM은 컴퓨팅 자원을 많이 필요로 합니다. 하지만 Docker 컨테이너는 여러개를 띄워도 컴퓨터에 무리가 오지 않습니다.

  • Docker는 이미지가 애플리케이션 단위로 만들어져 있기 때문에 바로 실행가능하지만, VM은 직접 세팅을 해줘야 합니다.


Node.js 웹앱의 Dockerizing(컨테이너화)

도커라이징(Dockerizing)은 애플리케이션을 Docker 컨테이너에서 돌릴 수 있도록 이미지로 만드는 과정을 의미합니다.

도커라이징보다는 컨테이너화라는 말을 더 많이 사용합니다.

node 및 express를 컨테이너화 하는 듀토리얼

  • Dockerfile 생성
touch Dockerfile
  • 사용할 node 버전을 입력합니다.
FROM node:14
  • 앱 디렉터리 생성
WORKDIR /usr/src/app
  • 앱 의존성 설치 (json)
COPY package*.json
  • 프로덕션을 위한 코드 빌드
RUN npm install
  • 앱 소스 추가
COPY ..

EXPOSE 8080
CMD ["node", "server.js"]

이미지 빌드

작성한 Dockerfile이 있는 디렉토리에서 Docker 이미지를 빌드하는 명령어를 실행할 수 있습니다.

docker build . -t <만든사람이름>/<레포지터리이름>

이미지 실행

앞에서 만든 이미지를 다시 불러와 쉽게 실행할 수 있습니다.

docker run -p 49160:8080 -d <만든사람이름>/<레포지터리이름>

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글