docker VS virtual machine

shw779·2022년 5월 16일
0

docker설명을 듣다가 랄프님께서 질문을 하셨다.docker란 무엇인가?
아직 겉핥기로 docker를 완전히 이해하지 못한 나는 가상머신이 아닌가라는 멍청한 대답을 했었다.
물론 당연히 틀린 말이었다.
부끄러움을 두번 겪지 않기 위해 docker와 virtual machine을 정리해 보았다.

  • 가상머신은 하나의 서버를 여러 서버로 나눠놓은 물리적인 하드웨어의 추상화

  • 호스트 머신(PC)에서 다수의 게스트 OS 를 동시에 실행할 수 있게 해주는 소프트웨어인 하이퍼바이저를 통해, 단일 머신에서 논리적으로 공간을 분할하여 여러 VM 을 실행할 수 있다.

  • 다양한 OS 를 가상화 할 수 있고 사용이 간편하며, 도커 컨테이너에 비해 더 높은 격리 수준을 제공

  • 각 VM 은 OS 복사본과 애플리케이션 및 기타 필요한 바이너리 파일들과 라이브러리들을 전부 포함하고 있기 때문에 용량이 크고, 부팅하는데 더 많은 시간이 소요

  • 도커 컨테이너는 코드 및 dependency를 묶어서 App Layer 를 추상화 한 것

  • 여러 컨테이너가 동일한 머신에서 실행될 수 있으며, 유저 스페이스에서 각자 격리된 프로세스로 실행되면서도 OS 커널을 타 컨테이너와 공유함.

  • 컨테이너는 호스트 입장에서 보면 하나의 프로세스, 사용자 입장에선 호스트와 무관하게 동작하는 VM 처럼 보여서 '컨테이너 가상화' 기술로도 불림.

  • 컨테이너는 VM 보다 적은 용량을 사용하며, 더 많은 애플리케이션을 다룰 수 있다.

0개의 댓글