본문 바로가기
IT기술노트/컴퓨터구조 및 운영체제

도커(Docker)

by 비트코기 2021. 3. 12.

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 계층이 없어 가볍고 빠름

플랫폼 비종속

- 운영체제 커널에 관계없이 실행

구현

사례

Google

- Gmail 및 자사 서비스 운영

Microsoft

- Windows Server 2016에 도커 적용

Amazon

- AWS에 도커 활용 및 기능 제원

반응형

댓글