도커의 구성요소

  • 도커는 Docker Daemon, Docker Client, Docker Host 그리고 이미지와 컨테이너(Docker Object)로 구성 되어있다.

  • Docker Daemon : Docker Command나 REST API 요청에 따른 Docker Obeject 들을 관리(생성, 시작, 중지, 삭제 등)한다.

  • Docker Client : 사용자가 도커와 상호 작용할 수 있도록 도와준다.

  • Docker Host : 애플리케이션을 실행하도록 환경을 제공해준다. Docker Daemon, Docker Object로 구성 되어있다.

  • 이미지와 컨테이너

    • 이미지는 컨테이너를 생성하기 전, 설계도 같은 역할을 한다. 3D 프린터 도면으로 3D 프린터를 운용하듯이, 컨테이너를 운용하려면 먼저 이미지가 필요하다.
    • 이미지는 완전한 애플리케이션 패키지이다. 하나의 애플리케이션과 해당 애플리케이션에 필요한 모든 것들이 들어있다.
    • 컨테이너는 이미지로부터 만들어진 애플리케이션 인스턴스이다. 이미지에는 애플리케이션의 모든 스택과 런타임을 포함하므로 도커는 컨테이너를 시작할 때 어떤 환경을 조성해야 하는지 알고 있다.
  • 도커 허브와 도커 이미지

    • 도커에는 Registry가 있는데 Registry에서 도커 이미지들을 관리할 수 있다. Docker hub는 Default Registry로, 누구나 접근 가능한 공개형 저장소 이다.
    • 굳이 비유를 하자면, 도커 허브는 앱스토어로, 앱스토어(도커 허브)에서 앱(도어 이미지)을 다운 받아 휴대폰에 실행 시키면 하나의 프로세스(컨테이너)가 되는 것으로 비유할 수 있다.