Docker와 VM의 차이점

해질녘·2022년 12월 5일
0

개요

VM과 Docker container 기술은 모두 소프트웨어를 별도의 환경에서 실행시키기 위한 것.

차이점

  • VM은 물리적인 컴퓨터에 대한 가상화. 즉 하드웨어 가상화. 실제(physical) 머신- Host OS에서 여러개의 Guest OS 를 돌릴 수 있다. 그리고 각 VM 간 독립됨. Host OS 위에서 Guest OS를 완전히 (모든것) 설치.

  • Docker Container들은 Host OS의 커널을 공유한다. Container에서 명령어 실행 시 실제로는 Host OS에서 실행. Guest OS는 Host OS와 비교해서 다른 부분만 Packing한다. 이러한 구조 때문에 VM보다 가벼운 것이 장점이다.

Windows 환경에서 Docker를 구동한다는 것

docker engine는 기본적으로 linux 위에서만 돌아간다.

Windows에서 Docker Desktop APP 을 실행시키기 위해서는 WSL 환경이 필요하다.

이 WSL 이 뭐냐 하면 Windows Subsystem for Linux, hyper-v virtual machine으로 결국 가상머신이다.

그러므로 리눅스 가상머신 위에서 Docker Container를 구동하는 것이다.

Docker는 만능인가?

VM에 비교하여 단점이 존재한다. 보안 측면에서 Host OS를 공유하기 때문에, Host OS를 공격한다면 그 위에서 구동되는 컨테이너들 역시 문제가 생긴다.

0개의 댓글