DevOps/Docker, Jenkins, Ansible, Terraform

Docker와 Vmware, Virtualbox 차이점

prden 2023. 1. 23. 12:05

도커, 컨테이너 빌드업(p10.)

1. 하이퍼 바이저란 ?(VMware, VirtualBox)

하이퍼바이저는 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있는 소프트웨어이다.
많이 사용하는 VM 구조는 기존 OS 위에서 하이퍼 바이저를 사용하는 방식이다. 예를 들어 윈도우 PC에서 VMware 설치한 후 거기에서 ubuntu OS를 설치하는 구조.

https://devlog-wjdrbs96.tistory.com/279

 

[Docker] Docker와 기존 가상화 기술의 차이 알아보기

Docker와 기존의 가상화 기술과의 차이를 통한 컨테이너 이해하기 가상화 기술 나오기 전 한대의 서버를 하나의 용도로만 사용 남는 서버 공간 그대로 방치 하나의 서버에 하나의 운영체제, 하나

devlog-wjdrbs96.tistory.com


2. 가상화 (하이퍼바이저를 이용한 가상머신 VS. 컨테이너를 이용한 도커방식)

 1) 하이퍼바이저를 이용한 가상머신

 가상머신은 호스트운영체제 위에 가상화 소프트웨어를 이용하여 여러 개의 게스트 OS를 구동하는 방식이다.  하이퍼바이저는 가상머신을 생성하고 실행하는 역할과 가상화된 하드웨어와 각각의 가상머신을 모니터링하는 중간관리자이다. 대표적인 가상화 프로그램으로는 VMware와 VirtualBox가 있다. 

각각의 게스트 OS는 호스트 운영체제로부터 독립된 자원을 할당받아 가상화된 서비스를 제공하기 때문에 수 기가바이트의 용량을 차지하는 이미지를 만들어 사용한다. 따라서 가상머신은 하드웨어 가상화이다. 

2) 컨테이너를 이용한 도커

 컨테이너를 이용한 가상화는 리눅스 기반의 물리적 공간 격리가 아닌 프로세스 격리를 통해 경량의 이미지를 실행하고 서비스할 수 있는 컨테이너 기술이다. 물리적 요소에 대한 가상화인 가상머신과 다르게 컨테이너 가상화는 프로세스 가상화이다.  컨테이너 기술의 장점은 하이퍼바이저와 게스트 OS가 없어 가볍다. 따라서 이미지 복제, 이관, 배포가 쉬우며 가상머신보다 경량이므로 더 많은 애플리케이션을 실행할 수 있다. 또한, 게스트 OS를 부팅하지 않기 때문에 애플리케이션 시작시간이 빠르다. 

 

3) 도커 엔진

도커 엔진은 클라이언트와 서버로 구분된다. 클라이언트는 도커 명령을 받고, 결과를 출력하며, 서버는 도커엔진, 즉 도커 데몬을 이용해 컨테이너 시작, 운영, 정지 등을 담당한다.