본문 바로가기

Container Security/Docker

[T0M4TO] Virtual Machine(가상머신)과 Docker의 차이

728x90
반응형

[순서대로 Hyper-V, Vmware workstation, VirtualBox]

Virtual Machine 이란?

  • 하나의 Host 컴퓨터에서 Hypervisor를 이용하여 생성된 Guest OS을 의미함
    👉 HyperVisor : Host 컴퓨터에서 다수의 OS를 동시에 실행하기 위한 논리적 플랫폼
    👉 Guest OS : HyperVisor에 의해 생성되고 관리되는 가상 운영체제
  • 각각의 Guest OS는 완전히 독립된 공간과 시스템 자원을 할당받아 사용함
  • Type-1 방식과 Type-2 방식이 존재함
  • Type-1 방식은 대표적으로 Microsoft의 Hyper-V가 있음
  • Type-2 방식은 대표적으로 VMware와 VirtualBox가 있음

Virtual Machine을 통한 가상화의 단점

  • 시스템 자원 가상화, 독립된 공간 생성 등의 작업이 Hypervisor를 거치기 때문에 일반 Host에 비해 성능이 떨어짐
  • 이미지 생성 시, Guest OS 사용을 위한 라이브러리/커널 등을 전부 포함해야해서 사이즈가 큼 (애플리케이션을 배포하는 용도로 사용하기에는 부담스러움)

 

[Docker 로고]

Docker Engine 가상화 방식

  • Linux chroot / namespace / cgroup 을 사용하여 프로세스 단위의 격리 환경 구축
    (관련해서 자세히 알고 싶다면? https://tomatohj.tistory.com/39 로 오세요 🥺)
  • 컨테이너에 필요한 커널은 Host 컴퓨터의 커널을 이용함
  • 컨테이너 안에는 애플리케이션 구동을 위해 필요한 라이브러리와 실행파일만이 존재하기 때문에 이미지의 용량이 작음

[Docker 가상화 Architecture]

Docker Engine 가상화의 장점

  1. 이미지의 크기가 작기 때문에, 이미지를 이용한 애플리케이션 배포에 용이함
  2. Hypervisor를 통하지 않기 때문에 성능 손실이 거의 없음

도커의 세계도 멀고도 험하다...
공부가 필요하다...

 

728x90
반응형