[Docker] docker와 VM의 차이

배석재·2021년 12월 20일
0

Docker

목록 보기
5/20

VM 사용 시

  • 가상화 기술이 나오기전엔 한대의 서버를 하나의 용도로만 사용
  • 그러다보니 남는 서버 공간은 그래도 방치되게 됌
  • 또한 하나의 서버에 하나의 운영체제, 하나의 프로그램만을 운영
  • 따라서 안정적이긴하나 비효율적임

Docker 사용 시

  • 하이퍼 바이저 기반의 가상화 출현
  • 논리적으로 공간을 분할하여 VM이라는 독립적인 가상 환경의 서버 이용 가능
  • 하이퍼 바이저는 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있게 하는 소프트웨어
  • 또한 하드웨어를 가상화하면서 하드웨어와 각각의 VM을 모니터링하는 중간 관리자 역할을 함

하이퍼바이저 기반의 VM 구조

  • 하이퍼바이저에 의해 구동되는 VM은 각 VM마다 독립된 가상 하드웨어 자원을 할당 받음
  • 논리적으로 분리되어 있어 한 VM에서 오류가 발생해도 다른 VM으로 퍼지지 않는다는 장점이 있음.

컨테이너 기반의 가상화 기술

  • VM과 비교했을때 컨테이너는 하이퍼바이저와 게스트 OS가 필요하지 않으므로 더 가벼움.
  • 어플리케이션을 실행할 때는 컨테이너 방식에서는 호스트 OS위에 어플리케이션의 실행 패키지인 이미지를 배포하면 됌
  • 그렇지만 VM은 어플리케이션을 실행하기 위해 VM을 띄우고 자원을 할당한 다음, 게스트 OS를 부팅하여 어플리케이션을 실행해야 해서 훨씬 복잡하고 무겁게 실행을 해야합니다.


공통점

도커 컨테이너와 VM은 기본 하드웨어에서 격리된 환경 내에 애플리케이션을 배치하는 방법.

차이점

격리된 환경을 얼마나 격리를 시키지는지에 대한 차이가 있음.


컨테이너 내부

profile
"personality begins Where Comparison ends"

0개의 댓글