도커 아키텍처 (Docker Architecture)
docker 명령을 치면 그 프로그램이 컨테이너를 만드는 게 아닙니다. 도커는 명령을 보내는 Client, 실제로 이미지와 컨테이너를 다루는 Docker Host 의 데몬(dockerd), 이미지를 보관하는 Registry 로 나뉘고, 셋은 REST API 로 대화합니다. pull 은 데몬이 레지스트리에서 이미지를 받아 호스트에 저장하는 일이고, run 은 그 이미지를 복사해 실행 인스턴스를 만드는 일입니다.
01 개념 한눈에 보기
Interactive Step-by-StepClient
Docker Host
Registry
네트워크 건너편도커는 하나의 프로그램이 아닙니다. 명령을 치는 Client, 실제로 일하는 Docker Host, 이미지를 보관하는 Registry 세 부분으로 나뉩니다. Registry 는 대개 네트워크 건너편에 있습니다.
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)에서 가져옵니다. 손님이 창고에 직접 들어가지는 않습니다.
