VM Docker Concept

y001·2025년 2월 15일
0
post-thumbnail

1. 가상머신(VM)이란?

가상머신(Virtual Machine, VM)은 하드웨어를 가상화하여 독립적인 운영체제를 실행하는 방식이다. 가상머신은 하이퍼바이저(Hypervisor)를 통해 호스트 OS 위에서 동작하며, 각 VM은 개별적인 OS를 포함하고 있다.

1.1 주요 개념

  • 호스트 OS(Host OS): 실제 하드웨어에서 실행되는 운영체제
  • 게스트 OS(Guest OS): 가상머신 내부에서 실행되는 운영체제
  • 하이퍼바이저(Hypervisor): 가상화를 관리하는 소프트웨어 (예: VMware, VirtualBox, KVM)
  • 가상화(Virtualization): 하나의 물리적 서버에서 여러 개의 VM을 실행하는 기술

1.2 VM의 특징

  • 완전한 운영체제 환경 제공: 각 VM은 독립적인 OS를 가지므로, 애플리케이션 실행 환경을 격리할 수 있다.
  • 높은 자원 사용량: 각 VM은 자체 OS를 실행해야 하므로 CPU, 메모리, 디스크 등의 자원을 많이 소비한다.
  • 운영체제 독립성: 서로 다른 운영체제를 동시에 실행할 수 있다.
  • 배포 속도가 느림: VM을 생성하고 운영체제를 설치하는 과정이 상대적으로 오래 걸린다.

2. Docker란?

Docker는 컨테이너 기반 가상화 기술로, 애플리케이션을 독립적인 환경에서 실행할 수 있도록 지원한다. VM과는 달리 OS 전체를 포함하지 않고, 호스트 OS의 커널을 공유하여 동작한다.

2.1 주요 개념

  • 컨테이너(Container): 독립적인 애플리케이션 실행 환경
  • 이미지(Image): 컨테이너 실행에 필요한 파일과 설정을 포함한 패키지
  • Docker Engine: 컨테이너를 실행하고 관리하는 소프트웨어
  • Docker Hub: 공개 및 사설 Docker 이미지를 저장하고 배포하는 플랫폼

2.2 Docker의 특징

  • 가벼운 실행 환경: OS 전체를 포함하지 않고, 호스트 OS의 커널을 공유하므로 리소스 사용량이 적다.
  • 빠른 배포 및 실행: 컨테이너는 몇 초 만에 실행할 수 있으며, CI/CD 환경에서 빠르게 배포할 수 있다.
  • 환경 일관성 유지: 개발, 테스트, 운영 환경을 동일하게 구성할 수 있다.
  • 운영체제 의존성: 컨테이너는 호스트 OS의 커널을 공유하기 때문에, Windows에서 Linux 컨테이너를 실행할 수 없다.

0개의 댓글