Cloud/Docker & Kubernetes

Docker) 도커와 가상화 기술의 차이

코딩하는 핑가 2021. 12. 13. 18:24
반응형

* 본 포스팅을 무단 복제하시거나 배포하지 마시기 바랍니다.

( 게시글 최상단에 본 블로그 출처를 밝히시면 포스팅은 가능합니다. )

* 시작하세요! 도커/쿠버네티스 책을 학습한 뒤 정리한 글이며 수정이 많을 예정입니다.


 

도커의 개념을 들어가기 전에 가상화 기술에 대해 먼저 알아야한다.

가상화 기술은 Hypervisor를 이용해 여러 개의 운영체제를 하나의 호스트에서 생성해 사용한다.

VirtualBox, VMware 등과 같은 가상화 툴을 이용해 가상화 기술을 사용하여 가상 머신에 여러 가지 운영체제를 설치한다.

이때 생성된 게스트 운영체제는 다른 게스트 운영체제와는 완전히 독립된 공간과 시스템 자원을 할당받아 사용한다.

그래서 이 가상 머신에는 게스트 운영체제를 사용하기 위한 라이브러리, 커널 등을 전부 포함하기 때문에 배포하기 위한 이미지로 만들었을 때 이미지의 크기가 커져 수 기가바이트에 달하는 가상 머신 이미지를 애플리케이션으로 배포하기는 부담스럽다는 단점이 있다.

- Hyperviosr : 호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼

 

1. 도커(Docker)

도커는 리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트이다.

여기서 일반적으로 말하는 도커는  도커 엔진(Docker Engine) 혹은 도커에 관련된 모든 프로젝트를 말하며, 도커 엔진은 컨테이너를 생성하고 관리하는 주체를 의미한다.

가상화 기술과 달리 도커 컨테이너는 가상화된 공간을 생성하기 위해 리눅스의 자체 기능인 chroot, 네임스페이스(nameSpace), cgroup을 사용함으로써 프로세스 단위의 격리 환경을 만든다.

 

+ 추가해야할 내용

도커 컨테이너 개념

반응형