Oh My Algorithm
Concept Guide커널 공유 · 격리

컨테이너 vs 가상머신 (Container vs VM)

가상머신은 하이퍼바이저 위에서 게스트 OS를 통째로 띄워 하드웨어 수준으로 격리하고, 컨테이너는 호스트 커널을 그대로 공유하면서 namespace와 cgroups로 프로세스를 격리합니다. 게스트 OS라는 한 층이 통째로 빠지기 때문에 컨테이너는 시작이 초 단위로 빠르고 이미지가 가볍지만, 격리 경계는 VM보다 얕습니다.

01 개념 한눈에 보기

Interactive Step-by-Step
가상머신 · 게스트 OS를 통째로
VM 1
App A20 MB
Bins / Libs120 MB
Guest OS커널 포함 · 2 GB
VM 2
App B20 MB
Bins / Libs120 MB
Guest OS커널 포함 · 2 GB
VM 3
App C20 MB
Bins / Libs120 MB
Guest OS커널 포함 · 2 GB
Hypervisor · 하드웨어 가상화
Host OS
물리 서버 · CPU · RAM · Disk

가상머신은 하이퍼바이저가 하드웨어를 흉내 내고, 그 위에 게스트 OS를 통째로 띄웁니다. 앱 하나를 돌리려고 운영체제 한 벌을 함께 올리는 셈입니다.

Logic Node1 / 4
컨테이너 · 호스트 커널 공유
컨테이너 1
App A20 MB
Bins / Libs120 MB
컨테이너 2
App B20 MB
Bins / Libs120 MB
컨테이너 3
App C20 MB
Bins / Libs120 MB
Docker Engine · containerd · runc
nscgnscg
Host OS 커널 — 모든 컨테이너가 공유 · namespace · cgroups
물리 서버 · CPU · RAM · Disk

컨테이너는 게스트 OS 층을 통째로 들어냅니다. 앱과 라이브러리만 담고, 커널은 호스트 것을 그대로 씁니다.

Logic Node1 / 7

02 쉽게 이해하기

For Everyone
🔑비유

VM은 건물마다 독립된 상하수도·전기 설비를 따로 놓는 단독주택이고, 컨테이너는 한 건물의 공용 설비(커널)를 쓰면서 세대별 현관문(namespace)과 계량기(cgroups)로 나눈 아파트입니다. 아파트가 짓기 빠르고 공간 효율이 좋은 대신, 공용 설비가 고장 나면 전 세대가 영향을 받습니다.

💡쉽게 말하면

VM은 앱마다 게스트 OS 전체를 얹어야 해서 수 GB에 부팅도 분 단위입니다.

컨테이너는 호스트 커널을 공유하고 앱과 라이브러리만 담으므로 수십 MB에 시작이 즉각적입니다.

대신 커널을 공유한다는 사실 자체가 격리의 한계라, 커널 취약점은 컨테이너 경계를 넘을 수 있고 다른 커널(예: 리눅스 호스트에서 윈도우 컨테이너)은 그대로 돌릴 수 없습니다.

📍어디에 쓰나
  • 컨테이너를 쓸지 VM을 쓸지 판단
  • 마이크로서비스 밀도·부팅 속도 설계
  • 멀티테넌시에서 격리 수준 결정
  • 컨테이너 보안 경계 이해

03 자주 묻는 질문

FAQ
컨테이너 vs 가상머신 (Container vs VM)란 무엇인가요?+

가상머신은 하이퍼바이저 위에서 게스트 OS를 통째로 띄워 하드웨어 수준으로 격리하고, 컨테이너는 호스트 커널을 그대로 공유하면서 namespace와 cgroups로 프로세스를 격리합니다. 게스트 OS라는 한 층이 통째로 빠지기 때문에 컨테이너는 시작이 초 단위로 빠르고 이미지가 가볍지만, 격리 경계는 VM보다 얕습니다.

컨테이너 vs 가상머신 (Container vs VM)은(는) 어디에 사용하나요?+

컨테이너를 쓸지 VM을 쓸지 판단, 마이크로서비스 밀도·부팅 속도 설계, 멀티테넌시에서 격리 수준 결정, 컨테이너 보안 경계 이해

컨테이너 vs 가상머신 (Container vs VM)를 쉽게 비유하면?+

VM은 건물마다 독립된 상하수도·전기 설비를 따로 놓는 단독주택이고, 컨테이너는 한 건물의 공용 설비(커널)를 쓰면서 세대별 현관문(namespace)과 계량기(cgroups)로 나눈 아파트입니다. 아파트가 짓기 빠르고 공간 효율이 좋은 대신, 공용 설비가 고장 나면 전 세대가 영향을 받습니다.

Guide Progress0%