728x90

도커와 가상화 기술의 차이

  • 도커는 특성상 가상화 기술과 비교되는 경우가 많다.
  • 그러나 도커서버 가상화와는 분명한 차이가 있다. ‘실행 환경을 독립적으로 격리한 컨테이너’라고 표현하는 것이 정확하다.

 

Docker vs. Virtual Machine (ⓒ https://www.simplilearn.com/)

 

가상화 기술

  • VirtualBox나 VMware 같은 가상화 기술은 가상의 물리 서버를 만드는 것과 같다.
    • 여기서 '가상’이라는 말은 물리적인 대상을 소프트웨어로 대체했다는 의미이다.
    • 즉, 메인보드와 CPU, 메모리 등의 물리적인 부품을 소프트웨어로 구현한 것이다.
    • 실질적으로 물리 서버와 동등한 것이므로 당연히 운영체제도 아무 것이나 설치할 수 있고, 그 위에서 어떤 소프트웨어를 구동해도 무방하다.

 

도커

  • 이와 달리 도커는 컨테이너에서 리눅스가 동작하는 것처럼 보이지만, 실제 리눅스가 동작하는 것은 아니다.
  • 운영체제의 기능 중 일부를 호스트 역할을 하는 물리적 서버에 맡겨 부담을 덜어 둔 형태이다.
  • 다시 말해, 컨테이너는 운영체제의 일부 기능을 호스트 컴퓨터에 의존하기 때문에, 물리 서버에도 리눅스 기능이 필요하며, 컨테이너의 내용도 리눅스 운영체제가 될 수 밖에 없다.

 

도커와 AWS EC2의 차이

  • AWS EC2에도 도커의 컨테이너와 비슷한 인스턴스라는 개념이 있다.
  • EC2 역시 가상화 기술이다. 다시 말해, 각각의 인스턴스가 완전히 독립된 컴퓨터처럼 동작한다.
  • 따라서 EC2와 도커의 관계는 VirtualBox/VMware와 도커의 관계와 같다.
  • 다만, 인스턴스는 컨테이너와 마찬가지로 AMI라는 이미지로부터 생성하므로 인스턴스를 배포하는 방법은 도커와 비슷하다.

 

도커와 호스팅 서비스

  • AWS ECS가 이에 해당한다.
  • 이들 서비스를 사용하면 별도로 가상 서버를 만들지 않아도 컨테이너 이미지를 그대로 실행할 수 있다.
728x90