Docker와 VM

Choorok·2022년 1월 23일
0

Weekly Blog

목록 보기
2/6

Docker

도커는 사용자가 분리된 프로세스로 사용 가능한 컨테이너 기반의 기술이다. 컨테이너라는 공간에 앱들과 설치된 것들을 하나로 묶어두고, OS커널을 다른 컨테이너와 공유할 수 있다. 따라서 메모리 공간을 VM보다 적게 차지하고 더 많은 앱을 처리할 수 있게 된다.

VM(Virtual Machine)

VM은 사용자만을 위한 공간 뿐 아니라 커널 공간까지 운영시스템에 포함된다. VM엔 OS와 앱, VM에 필요한 binary와 library가 복사본에 포함되기 때문에 많은 용량이 필요하고 이 때문에 부팅 속도까지 느려질 수 있다.

차이점

위의 사진에 나와있는 것과 같이 VM에선 Hypervisor 위에 각각의 VM을 위한 Guest OS가 포함되어 있어 프로그램이 Host OS를 공통으로 쓰는 Docker보다 훨씬 무거워진다. 따라서 프로그램의 속도 측면에서 Docker가 VM보다 많은 장점을 갖게 된다. 하지만 OS를 공통으로 사용하여 속도가 빨라진 대신 보안은 Container가 VM보다 취약하다.

휴대성적인 측면에서 둘을 보면 Docker는 OS에 관계 없이 바로바로 운용할 수 있다. 하지만 VM은 각각의 머신에 OS가 다르고 프로그램이 무겁기 때문에 더 많은 시간이 걸린다.

각각 일장일단이 있다고 보여지지만 현재엔 여러 운영체제에 맞게 개발을 해야하기 때문에 OS에 관계없이 빠르게 통일화 시킬 수 있고, 상대적으로 가볍게 사용가능한 Docker가 VM에 비해 장점을 많이 갖고 있다고 보여진다.

0개의 댓글