Docker은 여러 개의 컴포넌트로 구성되어 있다.
핵심 기능인 Docker Engine을 중심으로 컴포넌트를 조합하여 애플리케이션 실행 환경을 구축한다.
Docker 컴포넌트의 개요는 다음과 같다.
Docker Engine (핵심 기능)
Docker 이미지를 생성하고 컨테이너를 가동시키기 위한 Docker의 핵심 기능. Docker 명령의 실행이나 Dockerfile에 의한 이미지도 생성한다.
Docker Registry (이미지 공개 및 공유)
컨테이너의 바탕이 되는 Docker 이미지를 공개 및 공유하기 위한 레지스트리 기능. Docker의 공식 레지스트리 서비스인 Docker Hub도 이 Docker Registry를 사용한다.
Docker Compose (컨테이너 일원 관리)
여러 개의 컨테이너 구성 정보를 코드로 정의하고, 명령을 실행함으로써 애플리케이션의 실행 환경을 구성하는
컨테이너들을 일원 관리하기 위한 툴
Docker Machine (Docker 실행 환경 구축)
로컬 호스트용인 Virtual Box를 비롯하여 Amazone Web Services EC2나 Microsoft Azure와 같은 클라우드 환경에 Docker의 실행 환경을 명령으로 자동 생성하기 위한 툴
Docker Swarm (클러스터 관리)
Docker Swarm은 여러 Docker 호스트를 클러스터화하기 위한 툴. Docker Swarm에서는 클러스터를 관리하거나 API를 제공하는 역할은 Manager가, Docker 컨테이너를 실행하는 역할은 Node가 담당한다. 또한 오픈소스인 Kubernetes도 이용할 수 있다.
클러스터란 여러 대의 컴퓨터를 네트워크를 통해 연결하여 하나의 단일 컴퓨터처럼 동작하도록 제작한 컴퓨터를 말한다.
참고
'About > Docker' 카테고리의 다른 글
[Docker] Docker의 작동 구조 (2) (cgroups) (0) | 2020.12.27 |
---|---|
[Docker] Docker의 작동 구조 (1) (namespace) (2) | 2020.12.13 |
[Docker] Docker의 기능 (1) | 2020.12.07 |
[Docker] Docker의 개요 (1) | 2020.12.07 |
[Docker] 컨테이너(Container)란? (2) | 2020.12.05 |