도커의 특징

  • 애플리케이션을 신속하게 구축, 테스트, 배포 할 수 있는 오픈소스 플랫폼
  • 컨테이너 기반의 오픈소스 가상화 도구

도커의 장점

  1. 운영의 표준화
    - 작은 컨테이너 기반의 애플리케이션 사용
    - 손쉽게 배포 수정 및 롤백 가능
  2. CI/CD 제공
    - 지속적인 통합과 개발 제공
    - 환경표준화 및 버전 간 충돌 제거
  3. 마이크로서비스(MSA)
    - 표준화된 코드 배포 활용으로 분산 애플리케이션 구축 가능 

도커 아키텍처 이해

도커 아키텍처의 개념

도커 엔진

 

가상화란?

물리적인 자원들을 통합하고 논리적으로 재구성하여 자원을 효율적으로 사용하는 기술

 

가상화 기술의 등장 배경

  1. 자원의 효율적인 운영
  2. On Demand 기능
  3. 개발 효율성 대두
  4. 보안성 향상
    - 분리와 격리를 통한 안전하 접근 제공

대상에 다른 가상화 분류

  1. 서버 가상화(EC2)
    - 1대의 물리적인 서버를 분할하여 여러대의 논리적인 가상 서버로 구성
  2. 스토리지 가상화(S3, EBS)
    - 다수의 물리적인 저장소를 하나 이상의 볼륨이나 드라이브로 나누는 기술
  3. 네트워크 가상화(VPC)
    - 한정된 물리적인 네트워크 자원을 여러 가상적인 독립적인 네트워크 환경으로 구축
  4. 데스크탑 가상화(Dass)
    - 다른 컴퓨터에서 실행되는 화면을 원격의 데스크탑에서 볼 수 있는 기술

하이퍼바이저에 따른 분류

  1. 위치와 역할
    - TYPE 1방식 
    * Native 하이퍼바이저형
    * 하이퍼바이저를 OS형태로 개발
    * 아무것도 설치되지 않은 하드웨어에 처음부터 설치
    * 게스트 OS의 하드웨어 접근이 용이

    - TYPE 2방식
    * Hosted 하이퍼바이저형
    * 하이퍼바이저를 애플리케이션 형태로 개발
    * 호스트 OS가 설치된 환경에서 하이퍼바이저 설치
    * 기존 운영체제의 변경없이 사용가능
  2. 가상화 방식
    - 전가상화 방식
    * 하드웨어 전체 가상화
    * 반드시 CPU가 전가상화기능을 지원해야함
    - 반가상화 방식
    * 하드웨어의 절반만 가상화 진행, 속도가빠름
    * 게스으 OS의 수정이 반드시 필요함.

※ 하이퍼바이저 : 운영체제 역할

 

가상머신과 도커의 비교

  • VM의 경우 OS위 Hypervisor 설치하여 GuestOS로 구분 
  • 컨테이너 Hypervisor => Docker
  • 컨테이너의 경우 GuestOS가 없다.
항목 가상머신(VM) 컨테이너(Docker)
하이퍼바이저 필요함 필요없음
게스트 OS 필요함 필요없음
커널 자원분리 필요함 필요없음
자원 효율성 낮음 높음
시작 및 종료 시간 느림 빠름

 

+ Recent posts