1 분 소요

Index

  1. 개요
  2. 도커란
  3. 도커와 가상 머신의 차이점
  4. 도커에서 중요 용어(키워드)

Docker

개발자라면 도커라는 단어를 적어도 한번은 들어봤을 것이다. 하지만 비전공자 국비학원 출신 경우에는 도커라는 단어가 매우 생소할 것이다.
그렇다면 도커라는 것은 무엇이고 무엇을 위해 사용하는지에 대해 알아보자

1. 개요

앞서 언급한 것과 같이 도커의 기본과 사용하는 이유에 대해 파악

2. 도커란

도커는 PaaS(Platforms as a Service) 제품으로 운영 체제 수준 가상화로 컨테이너라고 불리는 패키지에 소프트웨어를 담아 이동할 수 있다.
이 컨테이너들은 소프트웨어, 라이브러리 그리고 설정 파일등이 독립적이며 서로 well-defined channels을 통해 소통할 수 잇다.
모든 컨테이너는 각자 운영체제 커널에서 실행되며 가상 머신보다 적은 자원을 소비한다.

3. 도커와 가상 머신의 차이점

  1. 도커 컨테이너
    • 도커 컨테이너는 어플리케이션과 함께 바이너리, 라이브러리 그리고 설정 파일을 포함하고 있다.
    • 각 컨테이너는 게스트 OS를 필요하지 않고 OS 커널을 사용함으로 lightweight를 유지할 수 있다.
    • 컨테이너는 동일한 host OS에서 다른 컨테이너와 자원을 공유할 수 있으며 OS-level 프로세스 독립성을 제공한다.
  2. 가상 머신
    • 가상 머신은 하이퍼바이저(여러 가상 머신을 자신의 OS와 하나의 머신에서만 돌릴 수 있도록 하는 기술)로 기동된다.
    • 각 VM은 어플리케이션과 필수 바이너리와 함께 각자 OS가 따로 있다. 그리하여 더 많은 자원을 필요로 함.
    • VM은 hardware-level 프로세스 독립성을 제공하며 부팅시 느림

4. 도커에서 중요 용어(키워드)

  1. 도커 이미지
    • 멀티 레이어로 이루어진 파일이며 도커 컨테이너에서 실행할 코드로 사용된다.
    • 도커 컨테이너를 만들 때 필요한 세트이다.
  2. 도커 컨테이너
    • 이미지의 런타임 인스턴스이다.
    • 개발자가 필요한 구성품(;라이브러리 또는 다른 디펜던시)을 어플리케이션과 함께 패키지할 수 있도록한다.
  3. 도커 파일
    • 텍스트 문서로써 도커 이미지를 실행할 때 필요한 커맨드를 담고있다.
    • 도커 파일을 통해 도커 이미지를 생성할 수 있다.
  4. 도커 엔진
    • 컨테이너를 host하는 소프트웨어를 도커 엔진이라 한다.
    • 도커 엔진은 클라이언트-서버 기반 어플리케이션이다.
    • 도커 엔진의 3가지 메인 요소:
      • 서버 : 도커 이미지, 컨테이너, 네트워크 그리고 볼륨 생성 및 관리를 한다. 데몬 프로세스로도 불린다.
      • REST API : 어플리케이션이 어떻게 서버와 상호작용 및 무엇을 할지 정의하는 것
      • Client : 클라이언트는 도커 CLI(Command-Line Interface)로 도커 커맨드를 통해 도커와 상호작용할 수 있도록 한다.

도커 헙

  • 도커 헙이란 공식 온라인 레포지토리로 다른 도커 이미지를 찾을 수 있다.
  • 도커 헙을 통해 관리, 찾기, 그리고 다른 이들과 컨테이너 이미지를 공유할 수 있다.

추가적으로 도커 커맨드나 사용법에 대해서 궁금하다면 References 사이트를 참고하길 바란다.

References

태그:

카테고리:

업데이트: