Getting Started with Docker/Kubernetes (1)

출처 : 시작하세요! 도커/쿠버네티스 (위키북스, 용찬호 지음)

1.1 가상 머신과 도커 컨테이너

  • 도커 (Docker)
    • 리눅스 컨테이너에 여러 기능을 추가함으로써 각종 어플리케이션을 컨테이너로서 더 쉽게 사용할 수 있도록 만들어진 오픈소스 프로젝트
    • 기존의 가상 머신과는 달리 성능 손실이 거의 없다.
    • 도커 엔진 : 컨테이너를 생성하고 관리하는 도커의 프로젝트
  • 가상 머신
    • 기존 가상화 기술 : Hypervisor를 이용해 여러 개의 운영체제(Guest OS)를 하나의 호스트에서 생성 및 사용하는 방식
    • Guest OS
      • ‘가상 머신’이라는 단위로 구별된다.
      • 각 Guest OS는 완전히 독립된 공간과 시스템 자원을 할당받는다. (라이브러리, 커널 모두 각 Guest OS에 포함)
  • 도커 컨테이너
    • 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없다.
    • Host의 커널 공유

1.2 도커를 시작해야 하는 이유

  • 1.2.1 Application의 개발과 배포가 편해진다.
  • 1.2.2 Application의 독립성과 확장성이 높아진다.

1.3 도커 엔진 설치

  • 1.3.1 도커 엔진의 종류 및 버전
  • 1.3.2 리눅스 도커 엔진 설치
    • 설치된 도커 엔진 정보 확인
      shell> docker info
      ...
      Server:
      Containers: 2
       Running: 1
       Paused: 0
       Stopped: 1
      Images: 1
      Server Version: 20.10.7
      ...
      
    • 가이드 문서
  • 1.3.3 윈도우, 맥 OS에 도커 설치
    • Docker Desktop 에서 리눅스 커널 기능과 도커 엔진 환경 구성이 가능
  • 1.3.4 리눅스 환경에 도커 마련하기