1 분 소요


본 내용은 인프런의 데브위키님 강의 “개발자를 위한 쉬운 도커” 내용을 바탕으로 정리한 내용입니다.


도커(Docker)란

  • 도커는 컨테이너 가상화 기술을 사용하기 위한 도구이다.
  • 도커와 같은 컨테이너 가상화 도구를 컨테이너 플랫폼이라고 부른다.
  • 컨테이너 플랫폼은 자체적으로 가지고 있는 컨테이너 엔진컨테이너 런타임으로 구성되어 있다.
    • 컨테이너 엔진은 사용자의 요청을 받아서 컨테이너를 관리해주는 역할을 한다.
    • 컨테이너 런타임은 직접 커널과 통신하면서 실제로 격리된 공간을 만드는 역할을 한다.
  • 도커의 구조는 크게 시스템 관점에서 도커 엔진 + 컨테이너 런타임로 구분할 수 있다.
  • 사용자 관점에서의 도커는 도커 엔진을 구성하는 클라이언트 + 데몬으로 구분할 수 있다.

도커(도커 엔진)의 동작 원리

  • 도커 엔진은 클라이언트 서버 모델로 실행된다.
  • 도커 엔진은 도커 클라이언트도커 데몬이라는 서버로 구성되어 있다.
    • 클라이언트 : 사용자의 명령어를 전달해 준다.
    • 도커 데몬(도커 D) : 도커 데몬은 호스트 OS에서 지속적으로 실행되면서, 커널의 기능을 활용해서 컨테이너를 관리해주는 역할을 한다.
      • 컨테이너 관리, 이미지 관리, 네트워킹 등등등

  • 도커 데몬은 컨테이너를 관리하기 위한 API 명세를 제공한다.
  • 도커에게 명령을 전달하기 위해서는 API 명세에 맞게 전달되어야 도커를 실행하거나 관리할 수 있다.
  • 도커는 사용자가 쉽게 도커에게 명령을 전달할 수 있도록 클라이언트에서 Docker CLI(Command Line Interface)를 제공한다.
  • 사용자가가 클라이언트(Docker CLI)를 사용하여 명령어를 입력하면, 클라이언트는 이 명령어를 서버의 API 양식에 맞게 대신 만들어서 도커 데몬에게 전달해준다.
  • 도커 데몬은 컨테이너 런타임을 통해서 컨테이너를 조작하고 그 결과를 CLI로 다시 전달한다.

댓글남기기