Docker Engine

Docker Engine

Docker Engine은 컨테이너를 빌드하고 실행하는 오픈소스 컨테이너화 기술의 핵심이에요. Docker의 클라이언트-서버 아키텍처를 소개하는 문서예요.

출처: Docker Engine

본문

Docker Engine은 클라이언트-서버(clientserver) 아키텍처를 가진 애플리케이션이에요. 구성 요소는 다음과 같아요.

  • Docker daemon(데몬): dockerd라고도 하며, 컨테이너, 네트워크, 볼륨을 관리하는 백그라운드 서비스예요.
  • Docker REST API: 클라이언트와 데몬이 통신하는 데 사용하는 인터페이스예요.
  • Docker CLI: 사용자가 명령을 입력해 데몬에 작업을 지시하는 명령줄 클라이언트예요(docker).

동작 방식

Docker CLI는 REST API를 통해 Docker daemon에 요청을 보내요. 데몬은 그 요청을 처리해 컨테이너를 만들고, 실행하고, 관리해요. 클라이언트와 데몬은 같은 머신에 있을 수도 있고, DOCKER_HOST로 원격 데몬에 연결할 수도 있어요.

Docker daemon

Docker daemon은 컨테이너 이미지를 관리하고, 컨테이너 수명주기를 처리하며, 네트워크와 볼륨을 관리해요. daemon은 daemon.json 설정 파일로 구성할 수 있어요(스토리지 드라이버, 로그, 네트워크 등).

Docker Engine은 Docker Desktop, Docker Compose, Docker CLI 등 모든 Docker 도구의 기반이 되는 핵심 기술이에요.

더 알아보기