가상머신과 컨테이너의 차이
renuevo.github.io/docker/docker-structure-windows10/
[Docker] Docker의 구조와 Windows10의 Docker
Docker의 기본 구조 이번 포스트에서는 와 가 있어야만 Docker 설치가 가능한 이유를 알아 보도록 하겠습니다 서버 가상화 (Virtual Machine) 먼저 서버 가상화 기술 2가지에 대해 알아 보겠습니다 하이
renuevo.github.io
도커와 가상머신, 그리고 OS
개요 도커와 가상 머신이란? 도커 컨테이너와 가상 머신은 애플리케이션에 독립적인 리소스를 할당하고, 격리된 프로세스를 실행할 수 있다는 장점이 있어서 널리 쓰이는 기술입니다. 가상머신
deveric.tistory.com
컨테이너화
좌측은 리눅스, 우측은 Windows와 Mac에서의 컨테이너 구동 예시.
도커 컨테이너들은 리눅스 위에서 구동되도록 개발되었다.
리눅스에서 사용할 경우 호스트OS의 커널을 컨테이너들이 공유하여 사용하기 때문에
운영체제의 커널을 컨테이너마다 담지 않아도 되어 간단히 개발한 애플리케이션만 컨테이너에 담아도 실행할 수 있는 장점을 가진다.
리눅스가 아닌 Mac과 Windows에서는 커널공유 기능을 지원하지 않기 때문에
virtualbox나 vmware 같은 가상머신 애플리케이션에 리눅스를 설치하여 컨테이너를 구동한다.
또는
virtualbox나 vmware 대신에
docker toolbox나 각 운영체제가 가지고 있는 자체 가상머신(Windows의 경우 hyper-v, Mac은 Xhyve)위에서
경량화된 리눅스 커널위에서 컨테이너를 실행한다.
이러나 저러나 리눅스를 제외한 환경에서는 순수한 컨테이너 기술만 사용되는게 아니라, 가상화 기술(Hypervisor기능)위에서 구동된다.
가상화
가상화 기술에서 하이퍼바이저는 Type1과 Type2로 나뉜다.
하드웨어 하이퍼바이저의 지원이 필요하지만 Host운영체제의 영향에 종속되지 않는 기술인 Type1 하이퍼바이저.
하드웨어 하이퍼바이저 없이, Host운영체제위에 설치되어 종속된 소프트웨어 하이퍼바이저가 수행하는 Type2 하이퍼바이저.
Type 1 방식 하이퍼바이저
- 젠(Xen)
- KVM(Kernel-based Virtual Machine)
- 마이크로소프트 하이퍼(Hyper)-V
- VM웨어의 ESX Server 실제로 운영체제 대신에 서버에 설치하였다!
Type 2 방식 하이퍼바이저
- VM웨어 워크스테이션(Workstation)
- VM웨어 플레이어(Player)
- 버추얼박스(VirtualBox)
- 맥용 패럴랠스 데스크톱(Parallels Desktop for Mac)
- QEMU