Print
카테고리: [ Cloud Computing & MSA ]
조회수: 7499

1. 개요

<Docker 가상 환경 구축 입문>의 <Chapter 1.Docker에 대해 이해하기>를 읽고 정리한 내용으로, 이번 문서의 주된 내용은 Docker의 개념과 특징에 대한 설명입니다.

 

2. Docker의 개념

 

3. VirtualBox(가상머신)와 Docker(컨테이너)의 특징과 차이점

구분 가상머신 컨테이너형 가상화
가상화 소프트웨어 하이퍼바이저 Docker Engine
게스트 OS 있음 없음
OS 자유도 임의의 게스트 OS를 동작시킬 수 있어,
자유도가 높음
컨테이너 자체에는 게스트 OS가 없기 때문에
자유도에 제한이 있음
애플리케이션 실행 주체 가상 머신의 게스트 OS 물리 머신의 호스트 OS
가상화 오버헤드
  • 게스트 OS 동작을 위한 많은 리소스 필요
  • 가상 머신 시뮬레이션에 따른 큰 오버헤드
  • 기동 및 정지가 무거움
  • 호스트 OS가 Docker Engine을 경유하여
    애플리케이션을 실행하므로
    리소스 및 오버헤드가 적음
  • 기동 및 정지가 가벼움
분리 레벨
  • 호스트 OS와 가상머신 간 분리 레벨이 높음
  • 다른 가상머신이나 호스트의 영향을
    받기 힘든 구조
  • 호스트 OS의 한 프로세스로서 컨테이너가 
    동작하는 방식으로 분리레벨이 낮음
  • 높은 보안을 요구하는 시스템의 경우,
    문제가 될 수 있음

 

4. Docker의 플랫폼으로서의 정의

서비스 명 설명
Docker Engine Docker Image로부터 컨테이너를 작성하거나, 컨테이너를 관리하는 기능
Docker Command Docker Engine에 지시를 내리거나, 컨테이너의 정보 확인 및 관리에 사용되는 커맨드
Docker Compose WAS 컨테이너, DB 서버 컨테이너 등 많은 역할을 하는 컨테이너를 통합 관리하기 위한 기능
Docker Machine Docker Engine이 설치된 가상 머신을 만들거나 관리하기 위한 툴로,
클라우드 서비스 상에 Docker 용 가상 머신을 만들 수 있음
Docker Hub Docker Image의 보관 장소를 제공하는 레지스트리
Docker Swarm  Docker가 설치된 서버에서 클러스터 구성을 하거나 유연하게 컨테이너 수를 스케일하는 등
운영 환경에서의 환경 구축을 위한 오케스트레이션 기능

 

5. 구성 관리 툴