본문 바로가기
카테고리 없음

Docker와 가상머신은 무엇이 다를까

by by_merry 2026. 4. 25.

서버를 공부하다 보면 꼭 한 번은 헷갈리는 개념이 있다. 바로 Docker와 가상머신(VM)이다.

둘 다 “하나의 컴퓨터를 나눠서 사용하는 기술”이라는 점에서는 비슷하다. 그래서 처음 보면 거의 같은 것처럼 느껴진다.

나도 처음에는 둘이 뭐가 다른지 잘 몰랐다. 그런데 구조를 한 번 이해하고 나면, 왜 둘을 다 사용하는지 확실히 보이기 시작한다.

핵심은 이거 하나다.

  • 가상머신 = 컴퓨터를 통째로 나눔
  • Docker = 프로그램만 나눔

이 차이 하나로 모든 것이 설명된다.

 

가상머신(VM)은 어떻게 다를까

가상머신은 하나의 컴퓨터 안에 여러 개의 “완전한 컴퓨터”를 만드는 기술이다.

각 가상머신은:

  • 운영체제(OS)
  • 프로그램
  • 파일 시스템

을 모두 따로 가지고 있다.

예를 들어:

  • VM 1 → Ubuntu
  • VM 2 → Windows
  • VM 3 → 또 다른 Linux

처럼 완전히 다른 컴퓨터처럼 동작한다.

그래서 안정성은 매우 높지만, 대신 무겁다.

Docker는 어떻게 다를까

Docker는 가상머신처럼 운영체제를 통째로 만들지 않는다.

대신 하나의 운영체제를 공유하면서, 프로그램만 따로 실행한다.

즉:

  • 운영체제는 하나
  • 프로그램만 컨테이너로 나눔

그래서 훨씬 가볍고 빠르다.

예를 들어:

  • 웹서버 컨테이너
  • DB 컨테이너
  • 백엔드 컨테이너

이렇게 나눠서 실행한다.

비유하면 이렇게 이해하면 쉽다

가상머신은 “집을 여러 채 짓는 것”이다.

  • 각 집은 완전히 독립됨
  • 시설도 전부 따로 필요

반면 Docker는 “한 집 안에서 방을 나누는 것”이다.

  • 기본 구조는 공유
  • 방만 따로 사용

그래서 Docker가 훨씬 효율적이다.

속도와 자원 사용 차이

이 차이는 실제 성능에도 영향을 준다.

항목 가상머신 Docker
구조 OS 포함 전체 프로그램만
속도 느림 빠름
용량 큼 (GB) 작음 (MB~GB)
실행 시간 느림 (부팅 필요) 빠름 (즉시 실행)
격리 완전 격리 부분 격리

그래서 요즘 서버는 Docker를 훨씬 많이 사용한다.

그럼 Docker가 무조건 좋은 걸까

그건 아니다.

Docker는 가볍지만, 완전히 독립된 환경은 아니다.

그래서:

  • 서로 다른 OS가 필요할 때
  • 완전히 분리된 보안 환경이 필요할 때

는 가상머신이 더 좋다.

예를 들어:

  • Windows + Linux 동시에 사용
  • 보안이 중요한 서버

같은 경우는 VM이 더 적합하다.

그래서 실제 서버에서는 어떻게 사용할까

실제 환경에서는 둘을 같이 쓰는 경우가 많다.

예를 들어:

  • 물리 서버
  • → 그 위에 VM
  • → 그 안에 Docker

이렇게 사용한다.

즉:

  • VM = 큰 단위 분리
  • Docker = 작은 단위 분리

라고 보면 된다.

언제 무엇을 쓰면 좋을까

간단하게 정리하면 이렇다.

  • 완전한 독립 환경 필요 → VM
  • 빠르고 가볍게 여러 앱 실행 → Docker

특히 웹서버나 API 서버는 대부분 Docker를 사용한다.

한 줄로 정리하면

가상머신은 컴퓨터 자체를 나누는 기술이고, Docker는 프로그램을 나누는 기술이다. 그래서 VM은 더 안정적이고, Docker는 더 빠르고 효율적이다.