I. 컨테이너 기반 오픈소스 가상화 플랫폼, 도커의 개요
가. 도커의 정의
- 호스트 컴퓨터에서 다수의 서로 다른 운영체제를 동시에 실행하기 위한 논리적 소프트웨어 가상화 플랫폼
나. 도커의 특징
특징 |
내용 |
정확성 |
- VM을 위해 만든 환경은 물리적 머신과 본질적으로 동일해야 한다. |
독립성과 안정성 |
- 하이퍼바이저는 시스템 자원에 대한 완전한 제어권을 갖는다. |
성능 |
- VM과 물리적 환경 간의 성능 차이가 없어야 한다. |
II. 도커의 구성도 및 구성요소
가. 도커의 구성도
- Docker Engine을 통한 OS 독립적 응용 프로그램 실행
나. 도커의 구성요소
가상화방식 |
역할 |
주요기술 |
도커엔진 |
컨테이너제어 |
- 이미지를 build, push, full, run 수행 데몬 |
컨테이너생성 |
- LXC, 리눅스 컨테이너 기능을 이용 |
|
Host OS |
리소스공유 |
- 컨테이너는 호스트 자원의 성능으로 실행 가능 |
Dockerfile |
이미지 설정 |
- FROM, RUN, CMD, EXPOSE 등 내용을 설정 |
이미지 레파지토리 |
패키징 |
- 프로그램, 라이버러리, 소스코드를 묶어 빌드 |
허브, DevOps 수행 |
- 이미지를 다른 서버, 사용자, 환경에 배포 가능 |
|
컨테이너 |
이미지 수행 |
- 하나의 이미지로 여러 컨테이너 수행 가능 |
III. 도커와 가상머신의 비교
구분 |
도커 |
하이퍼바이저 |
개념도 |
||
개념 |
- 하이퍼바이저 없이 리눅스 컨테이너(LXC) 이용 애플리케이션을 격리된 상태에서 실행하는 가상화 기술(공유, 격리) |
- 단일 플랫폼의 서버자원 하이퍼바이저 기술 이용 논리적으로 분할하여 사용하는 기술 |
가상화 |
- 컨테이너(LXC) |
- 하이퍼바이저 |
Guest OS |
- OS레벨 가상화 |
- HW 레벨 가상화 |
Host OS |
- GUEST OS 없음 |
- GUEST OS 있음 |
장점 |
- Host OS 종속적 |
- Host OS 독립적 |
단점 |
- 동작시 오버헤드 거의 없음 - 처리 속도 우수 - 사용하기 쉬운 인터페이스 |
- 다양한 OS 실행 가능 - 상대적 보안성 우수(가상머신간 환경 분리) |
IV. 도커의 기대효과 및 구현사례
구분 |
항목 |
내용 |
기대 효과 |
DevOps |
- 개발과 운영 호환성 증가 |
성능개선 |
- Guest OS 계층이 없어 가볍고 빠름 |
|
플랫폼 비종속 |
- 운영체제 커널에 관계없이 실행 |
|
구현 사례 |
|
- Gmail 및 자사 서비스 운영 |
Microsoft |
- Windows Server 2016에 도커 적용 |
|
Amazon |
- AWS에 도커 활용 및 기능 제원 |
'IT기술노트 > 컴퓨터구조 및 운영체제' 카테고리의 다른 글
프로세스 간 통신(IPC, Inter-Process Communication) (0) | 2021.12.30 |
---|---|
우선순위 역전(Priority Inversion) (0) | 2021.10.20 |
데스크탑 가상화(VDI, Virtual Desktop Infrastructure) (0) | 2021.03.12 |
쿠버네티스(Kubernates) (0) | 2021.03.12 |
하이퍼바이저(Hypervisor) (0) | 2021.03.12 |
가상화(Virtualization) (0) | 2021.03.12 |
운영체제(OS, Operating System) (0) | 2021.03.12 |
가상메모리(Virtual Memory) (0) | 2021.03.12 |
댓글