개요
도커 아키텍처를 알아보자.
- Client(도커 클라이언트)
- Docker Host(도커 호스트)!!
- Registry(레지스트리)

도커 내부 구조 개념
입문단계 이해를 위해 간단히 설명하면 Registry(Docker hub) 에서 images를 Docker Host로 가져와서 컨테이너로 실행한다. 이 때 이를 제어하는 것은 Client에서 한다.
- Docker Host: 도커 데몬(Docker Daemon)이 실행되는 호스트 머신을 말하며, 이곳에서 이미지와 컨테이너가 제어된다.
- Client: 명령어를 통해 이미지를 빌드하고, 이미지를 기반으로 컨테이너를 생성한다.
- Registry: 도커 이미지가 저장되고 공유되는 장소로, 도커 허브(Docker Hub)와 같은 공개 레지스트리가 있다. 여기에서 이미지를 다운로드하여 애플리케이션을 실행할 수 있다. 기업 환경에서는 AWS의 ECR(Elastic Container Registry)과 같은 프라이빗 레지스트리를 사용하기도 한다.
도커의 주요 구성 요소
- Docker Daemon: 도커 호스트에서 실행되는 백그라운드 프로세스로, 도커 API 요청을 처리하고, 이미지 빌드, 컨테이너 실행 등을 담당한다.
- Client: 사용자가 도커 명령어를 입력하여 도커 데몬과 상호 작용할 수 있게 해주는 CLI (Command Line Interface) 도구이다.
- Docker Objects: 도커 호스트 내에서 동작하는 다양한 객체들로, 주로 이미지와 컨테이너를 포함한다.
- Docker Image: 컨테이너를 만들기 위한 읽기 전용 템플릿으로, 애플리케이션과 그 실행에 필요한 모든 종속성을 포함한다.
- Docker Container: 도커 이미지의 실행 가능한 인스턴스로, 격리된 환경에서 애플리케이션을 실행하는 프로세스와 같은 느낌이다.
- Docker Registries: 도커 이미지를 저장하고 관리하는 시스템으로, 도커 허브(Docker Hub)와 같은 공용 레지스트리와 ECR과 같은 사설 레지스트리가 있다.
- Docker Hub: 가장 널리 사용되는 공개 도커 레지스트리로, 사용자들이 이미지를 업로드하고 공유할 수 있다.
출처
https://docs.docker.com/get-started/overview/