본문 바로가기

Docker

컨테이너 가상화 기술과 Docker

서버 가상화 기술과 컨테이너 가상화

1. 서버 가상화 기술 (Hypervisor 기반)

개념

  • 기존 하드웨어 위에 OS를 올리고, 그 위에 Hypervisor 프로그램을 실행.
  • Hypervisor를 통해 여러 개의 Virtual Machine(VM)을 생성하여 가상화를 구현.

특징

  • VM 단위 당 하나의 OS를 실행.
  • 각 VM은 독립된 가상 하드웨어를 사용.

단점

  1. 성능 저하
    • 가상 시스템이 사용하는 리소스가 많아질수록 성능 저하가 심함.
  2. 거대한 이미지 크기
    • OS 이미지는 GB 단위.
  3. 느린 시작 시간
    • VM 시작 시간이 분 단위로 소요.
  4. 환경 불일치
    • VM 간의 환경이 일치하지 않아 운영의 복잡성을 증가.

2. 컨테이너 가상화

개념

  • OS 위에 컨테이너 런타임(Container Runtime)을 실행하고, 이를 통해 여러 컨테이너를 생성.
  • 컨테이너는 OS뿐만 아니라 특정 미들웨어나 애플리케이션(JVM 등)을 독립적으로 실행 가능.

특징

  1. 빠른 시작 시간
    • 컨테이너는 초 단위로 시작 가능.
  2. 작은 이미지 크기
    • 이미지 크기가 수백 MB 수준으로 효율적.
  3. Host OS와의 관계
    • 컨테이너는 Host OS의 커널 수준에서 분리되며, 필요에 따라 리소스를 공유.

서버 가상화 vs 컨테이너 가상화

특징 서버 가상화 컨테이너 가상화
기술 기반 Hypervisor Container Runtime
이미지 크기 GB 단위 수백 MB
시작 시간 분 단위 초 단위
Guest OS 관계 별도의 가상 하드웨어로 인식 Host OS와 커널 수준 분리
리소스 효율성 상대적으로 비효율적 효율적

'Docker' 카테고리의 다른 글

소프트웨어 아키텍쳐  (0) 2024.12.04