Infla/Docker

1. [Seminar] 도커, VM

dennis 2020. 12. 25. 21:40

가상화 기술 나오기 전          ->      하이퍼 바이저 기반의 가상화 출현

한대의 서버를 하나의 용도로만 사용                          논리적으로 공간을 분할하여 VM이라는 

                                                                               독립적인 가상 환경의 서버 이용 가능

 

남는 서버 공간 방치                                                  하이퍼 바이저는 호스트 시스템에서 다수의 게스트 OS를 구동할 수

하나의 서버에 하나의 운영체제                                  있게 하는 소프트웨어, 

안정적이나 비효율적                                                 그리고 하드웨어를 가상화하면서 하드웨어와 각각 VM을 모니터링 가능

 

 

VM

VM ( App1,         App2 )
      ( OS1  ,         OS2   ) 
OS
Hypervisor 하이퍼 바이저  
Host Operating System 리눅스 커널
Infrastructure 하드웨어
(CPU Core별로 할당)

하이퍼 바이저에 의해 구동되는 VM은 각 VM마다 독립된 가상 하드웨어 자원을 할당

논리적으로 분리 되어 있어서 한 VM에 오류가 발생해도 다른 VM으로 퍼지지 않는다는 장점

 

 

 

 

도커

컨테이너 ( App1,App2)
Docker Engine
Host Operating System
Infrastructure

공통점

도커 컨테이너와 가상 머신은 기본 하드웨어에서 격리된 환경 내에 애플리케이션을 배치하는 방법

 

차이점

격리된 환경을 얼마나 격리시키는지 차이

 

 

 

1.  게스트 OS가 필요하지 않으므로 가벼움

2. 어플리케이션을 실행할 때는 컨테이너 방식에서는 호스트 OS위에 어플리케이션의 실행 패키지인 이미지를 배포하기만 하면 되는데

                                               VM은 어플리케이션을 실행 시키기 위해 VM을 띄우고 자원을 할당한 다음, 게스트 OS를 부팅하여 

                                                         어플리케이션을 실행 해야 해서 휠씬 복잡, 무겁게 실행

 

 

 

 

도커 컨테이너를 격리 시키는 방법?

C Group, 네임스페이스

- 컨테이너와 호스트에서 실행되는 다른 프로세스 사이에 벽을 만드는 리눅스 커널 기능 ( Host Operating System )

 

C Group        -> 개별 cpu, 메모리, 네트워크 등 프로세스 그룹의 시스템 리소스 사용량 관리 - 각 컨테이너에 부분적으로 할당

네임스페이스 -> 하나의 시스템에서 프로세스를 격리시킬 수 있는 가상화 기술 ( 경량 프로세스 가상화 기술 )

 

 

※ 정리

카카오톡   ->   커널    ->    하드 디스크, 네트워크, RAM, CPU

 

카카오톡
커널
하드디스크 네트워크 RAM CPU