Oh My Algorithm
Concept GuideClient · Daemon · Registry

도커 아키텍처 (Docker Architecture)

docker 명령을 치면 그 프로그램이 컨테이너를 만드는 게 아닙니다. 도커는 명령을 보내는 Client, 실제로 이미지와 컨테이너를 다루는 Docker Host 의 데몬(dockerd), 이미지를 보관하는 Registry 로 나뉘고, 셋은 REST API 로 대화합니다. pull 은 데몬이 레지스트리에서 이미지를 받아 호스트에 저장하는 일이고, run 은 그 이미지를 복사해 실행 인스턴스를 만드는 일입니다.

01 개념 한눈에 보기

Interactive Step-by-Step
도커 아키텍처 · Client · Daemon · Registry

Client

docker build
docker pull
docker run

Docker Host

Docker daemon
dockerd
이미지
nginxredismy-app
컨테이너
nginxredis

Registry

네트워크 건너편
Docker Hub
nginxredisubuntu

도커는 하나의 프로그램이 아닙니다. 명령을 치는 Client, 실제로 일하는 Docker Host, 이미지를 보관하는 Registry 세 부분으로 나뉩니다. Registry 는 대개 네트워크 건너편에 있습니다.

Logic Node1 / 7

02 쉽게 이해하기

For Everyone
🔑비유

주방이 있는 식당과 같습니다. 손님(Client)은 주문서를 넘길 뿐이고, 요리는 전부 주방(데몬)에서 이뤄지며, 재료는 창고(Registry)에서 가져옵니다. 손님이 창고에 직접 들어가지는 않습니다.

💡쉽게 말하면

터미널의 docker 는 요청을 만들어 데몬에 보내는 클라이언트입니다.

데몬이 이미지·컨테이너·네트워크·볼륨을 실제로 관리하므로, 데몬이 떠 있지 않으면 어떤 명령도 동작하지 않습니다.

이미지는 읽기 전용 원본이고 컨테이너는 그것을 실행한 인스턴스라, 같은 이미지 하나로 컨테이너를 여러 개 띄울 수 있습니다.

클라이언트와 데몬은 같은 기계에 있을 수도, 원격으로 떨어져 있을 수도 있습니다.

📍어디에 쓰나
  • docker 명령이 안 될 때 데몬 상태부터 확인하기
  • 원격 호스트에 붙여 쓰기
  • 이미지와 컨테이너의 차이 구분하기
  • 사설 레지스트리 도입 판단

03 자주 묻는 질문

FAQ
도커 아키텍처 (Docker Architecture)란 무엇인가요?+

docker 명령을 치면 그 프로그램이 컨테이너를 만드는 게 아닙니다. 도커는 명령을 보내는 Client, 실제로 이미지와 컨테이너를 다루는 Docker Host 의 데몬(dockerd), 이미지를 보관하는 Registry 로 나뉘고, 셋은 REST API 로 대화합니다. pull 은 데몬이 레지스트리에서 이미지를 받아 호스트에 저장하는 일이고, run 은 그 이미지를 복사해 실행 인스턴스를 만드는 일입니다.

도커 아키텍처 (Docker Architecture)은(는) 어디에 사용하나요?+

docker 명령이 안 될 때 데몬 상태부터 확인하기, 원격 호스트에 붙여 쓰기, 이미지와 컨테이너의 차이 구분하기, 사설 레지스트리 도입 판단

도커 아키텍처 (Docker Architecture)를 쉽게 비유하면?+

주방이 있는 식당과 같습니다. 손님(Client)은 주문서를 넘길 뿐이고, 요리는 전부 주방(데몬)에서 이뤄지며, 재료는 창고(Registry)에서 가져옵니다. 손님이 창고에 직접 들어가지는 않습니다.

Guide Progress0%