본문 바로가기
🌴 DevOps

[클라우드흐름 2] VM(Virtual Machine) VS Container

by 카프리썬 2020. 4. 19.
728x90

도커의 개념에서 잠깐 나오는 VM VS Container(도커) 이야기

https://pearlluck.tistory.com/119?category=854935

 

[Docker1] 도커 기본개념(도커/컨테이너/VM/이미지/도커파일)

기존의 서버관리 예를 들어 웹서비스 환경을 제공한다라고 하면.. 1. 서버OS설치 (Linux/Ubuntu/CentOS) 2. 애플리케이션 설치(Web/Was/DB/App) 3. 각 애플리케이션의 Configuration 설정 4. 서비스데몬 실행 (도..

pearlluck.tistory.com

 

 

vm 과 컨테이너의 차이점

https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/

1.하이퍼바이저의 유뮤

vm은 하이퍼바이저가 있음. 그래서 host OS의 하드웨어를 가상화해서 각 Guest OS한테 리소스를 할당해줌

컨테이너는 하이퍼바이저가 없음. 그냥 컨테이너 엔진(도커)위에 app이 바로 올라감

 

2. Guest OS의 유뮤

vm은 하나의 os에 여러가지 guest OS들을 올림

컨테이너는 동일한 OS커널(cgroups,namespace)을 공유해서 시스템의 나머지 부분은 프로세스로 격리하는 부분

 

3. 이미지 크기

컨테이너는 os 레이어가 없기 때문에 이미지 크기가 vm보다 작음 -> 부팅하는 속도도 빠르다.

 

4. 부팅 속도 

VM보다 컨테이너가 빠르다

VM이 처리한 IO를 host os의 커널이 다시 받아서 처리할때 오버헤드가 발생할 수 있음

컨테이너는 커널을 공유하기 때문에 들어온 io를 처리하는 커널이 같음

즉, vm이 컨테이너보다 더 많은 커널처리가 필요해서 더 느림

 

  VM가상화 컨테이너 가상화
가상화 수준 OS 격리 프로세스 격리
OS 여러가지 OS 동일한 OS (커널공유)
게스트OS 유무 O X
하이퍼바이저 유무 O X
하드웨어 공유 X O
오버헤드 많음 적음
부팅속도 느림 빠름

 

vm은 단일 시스템에서 여러os가 동시에 실행
컨테이너는 동일한 os의 커널을 공유해서 프로세스를 격리

 

https://medium.com/@darkrasid/docker%EC%99%80-vm-d95d60e56fdd

 

Docker와 VM

Docker를 공부하면 가장 처음 등장하는 내용이 바로 `docker vs. vm`입니다. 사실 둘의 비교는 정확히는 `container vs. vm `이긴 한데, 이 포스트에서는 docker container와 vm은 서로 어떻게 다른지 장점…

medium.com

 

* 도커엔진은 컨테이너 엔진 중 하나

출처 https://soyoung-new-challenge.tistory.com/76

도커엔진은 

어디에서나 이미지를 빌드하고, 이동하고, 어느 엔진에서나 이미지를 돌아가게 하는게 미션

그래서 같은 환경에서 돌아갈 수 있도록 해줌

반응형

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });