본문 바로가기
IT 일반 정보

도커(Docker)와 VM(Virtual Machine) 차이

by 떠도리c 2024. 8. 26.
반응형

도커(Docker)

도커(Docker)란?

리눅스 커널 컨테이너 기술을 이용하여 만든 컨테이너 기술 중 하나이다. 리눅스 커널의 Cgroup(control groups)과 네임스페이스 기능을 이용하여 컨테이너의 독립된 공간을 구현한다.

도커(Docker) 컨테이너는 호스트 OS의 커널과 자원을 공유한다.

💡 커널(Kernel)이란 하드웨어 자원을 관리하고 하드웨어와 프로세스 사이의 인터페이스 역할을 수행하는 OS의 핵심 구성 요소중 하나이다.

도커(Docker)는 리눅스 컨테이너 기술이니만큼 윈도우 환경에서는 WSL(Windows Subsystem for Linux)를 사용하여 구현한다. (2023년 8월 기준 WSL2 사용)

💡 WSL : Windows10 운영체제에서 리눅스 운영체제의 쉘, 시스템을 사용할 수 있도록 지원해주는 기능

 

 

VM(Virtual Machine)

VM(Virtual Machine) 이란?

  • VM(Virtual Machine) : 분할된 공간의 가상환경
  • Host OS : 서버의 OS
  • Guest OS : VM(가상환경)의 OS
  • 하이퍼바이저(Hypervisor) : Guest OS 구동, 운영, 모니터링

 

하이퍼바이저(Hypervisor) 개념

하이퍼바이저 타입

 

 

 

도커(Docker)와 VM(Virtual Machine) 차이

개념도

 

 

 

도커(Docker), VM(Virtual Machine) 장단점

💪🏻 도커(Docker)의 장점:

  1. 경량화와 빠른 실행: 도커 컨테이너는 호스트 시스템의 커널을 공유하므로 가상 머신보다 훨씬 적은 시스템 리소스를 사용하며 빠르게 실행됩니다.
  2. 일관성과 이식성: 도커 이미지는 실행 환경과 무관하게 동일하게 작동하도록 설계되어 있어, 개발 환경과 운영 환경 사이의 차이를 최소화하고 애플리케이션 이식성을 향상시킵니다.
  3. 확장성: 도커 컨테이너는 쉽게 복제되고 확장할 수 있어, 애플리케이션의 부하에 따라 유연하게 대응할 수 있습니다.
  4. 마이크로서비스 아키텍처 지원: 도커는 작은 서비스 단위로 나눠 관리할 수 있어, 마이크로서비스 아키텍처를 쉽게 구현할 수 있습니다.

❗ 도커(Docker)의 단점:

  1. 보안 이슈: 컨테이너화된 애플리케이션은 호스트 시스템과 커널을 공유하므로, 적절한 보안 조치를 취하지 않으면 위험성이 증가할 수 있습니다.
  2. 데이터 지속성 관리의 어려움: 컨테이너는 기본적으로 일시적이며, 데이터의 영구적인 보존과 관리가 복잡할 수 있습니다.
  3. 복잡한 네트워킹 설정: 여러 개의 컨테이너가 연결되어 작동할 때 네트워킹 설정이 복잡해질 수 있습니다.

 

 

💪🏻 가상 머신(VM)의 장점:

  1. 강력한 격리와 보안: VM은 독립된 운영 체제 환경을 제공하므로 애플리케이션 간의 격리와 보안이 용이합니다.
  2. 다양한 운영 체제 호환성: VM은 호스트 시스템과 상관없이 다양한 운영 체제를 실행할 수 있습니다.
  3. 데이터 지속성과 관리의 용이성: VM 내부에서 독립된 파일 시스템을 사용하므로 데이터 관리와 지속성 확보가 상대적으로 쉽습니다.

가상 머신(VM)의 단점:

  1. 무거움과 느린 실행: 각 VM은 자체 운영 체제와 커널을 가지고 있어 무겁고 실행 속도가 상대적으로 느릴 수 있습니다.
  2. 자원 낭비: 각 VM이 물리적인 리소스를 독점적으로 사용하므로, 여러 VM을 실행하는 경우 자원이 낭비될 수 있습니다.
  3. 이식성 부족: VM 이미지는 특정 가상화 플랫폼에 종속적이므로 이식성이 낮을 수 있습니다.

 

⭐ 요약

  • 도커는 경량화와 빠른 실행, 일관성과 이식성, 확장성 등을 강조하는 반면 보안 이슈와 데이터 지속성 관리의 어려움 등의 단점이 있습니다.
  • 가상 머신은 강력한 격리와 보안, 다양한 운영 체제 호환성, 데이터 지속성과 관리의 용이성을 제공하지만 무거움과 느린 실행, 자원 낭비, 이식성 부족 등의 단점도 있습니다.

 

반응형