Container(컨테이너)를 이해하기 위해서는 Virtual Machine(가상머신, VM) 개념을 알고 있는것이 좋을 것 같다.
컨테이너 개념 및 도입된 이유를 알기 위해서는 VM에 대한 특징부터 살펴보는 것이 좋을 것 같다.
1. 개념 구성도
개념 구성도부터 살펴보도록 하겠다.
|
|
VM 개념도 | Container 개념도 |
출처 : https://www.docker.com/what-docker
Virtual Machine 은 구성도는 다음과 같다.
하드웨어 가상화
소프트웨어로 구현된 하드웨어
소프트웨어로 구현된 하드웨어 그 위에 OS를 설치하고, 그 위에 소프트웨어를 설치함으로써 무겁고 느린 단점
위 단점으로 반가상화 기술방식의 Xen이 등장하였지만, 성능문제는 해결되지 못함
예 : VMWare, VirtualBox 등
Container:
리눅스에서 하드웨어 가상화와 OS설치를 하지 않고 단순히 프로세스를 단독으로 격리시키는 기술 컨테이너라는 기술이 등장
하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하므로 실제 그냥 앱을 실행하는 경우와 거의 차이가 보이지 않을 정도로 Virtual Machine 에 비해 성능문제가 해결됨
리눅스 OS에서 지원하는 기술로 LXC(Linux Container)라는 시스템 레벨의 컨테이너 기술을 제공
초기 Docker는 LXC 기술을 채용했으나, 0.9버전 이후에는 libcontainer라는 자체 컨테이너 사용
'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글
URI, URL 그리고 URN 이란? (0) | 2019.02.25 |
---|---|
REST(Representational State Transfer - 작업 중 (0) | 2019.02.22 |
컨테이너(Container)?-정리 필요 (0) | 2019.02.20 |
이클립스(Eclipse) (0) | 2019.02.19 |
Maven-> working (0) | 2019.02.19 |