반응형
도커 기초 개념 정리
도커(Docker)는 컨테이너(Container) 기술을 기반으로 애플리케이션을 쉽고 빠르게 배포하고 실행할 수 있도록 돕는 플랫폼입니다. 도커의 전체 구조는 크게 도커 클라이언트(Docker Client), 도커 호스트(Docker Host), 도커 레지스트리(Docker Registry) 세 부분으로 나눌 수 있습니다. 각각의 개념을 정리해 보겠습니다.
1. 도커 클라이언트 (Docker Client)
- 사용자가 도커와 상호작용하는 명령어 인터페이스(CLI) 또는 API 도구입니다.
- 예를 들어, docker run, docker build, docker ps 같은 명령을 입력하면 도커 클라이언트가 이를 해석하여 도커 데몬(Docker Daemon)에게 전달합니다.
- 클라이언트 자체는 가볍고 단순하며, 실제 컨테이너를 생성·실행하는 역할은 하지 않습니다.
- 즉, 클라이언트는 **“명령을 전달하는 역할”**에 해당합니다.
2. 도커 호스트 (Docker Host)
- 도커 엔진(Docker Engine, 즉 도커 데몬)이 실행되는 환경을 의미합니다.
- 도커 호스트는 다음을 포함합니다:
- 도커 데몬(Docker Daemon) : 컨테이너를 생성·관리하는 핵심 프로세스
- 이미지(Image) : 애플리케이션을 실행하기 위한 패키지(설정 + 코드 + 라이브러리 포함)
- 컨테이너(Container) : 이미지를 실행하여 만들어진 실제 애플리케이션 실행 환경
- 요약하면, 도커 호스트는 컨테이너가 실제로 존재하고 실행되는 장소입니다.
- 로컬 PC, 서버, 또는 클라우드 환경 모두 도커 호스트가 될 수 있습니다.
3. 도커 레지스트리 (Docker Registry)
- 도커 이미지를 저장하고 배포하는 저장소(Repository) 역할을 합니다.
- 대표적인 레지스트리는 **도커 허브(Docker Hub)**이며, 기본적으로 도커는 이곳에서 이미지를 가져옵니다.
- 필요하다면 기업 내부에서 **프라이빗 레지스트리(Private Registry)**를 구축해 내부 전용 이미지를 관리할 수도 있습니다.
- 개발자는 애플리케이션을 컨테이너 이미지로 만들어 레지스트리에 올리고, 다른 환경(테스트 서버, 운영 서버 등)에서는 그 이미지를 받아서 그대로 실행할 수 있습니다.
정리
- 도커 클라이언트 : 명령을 내리는 도구 (사용자 ↔ 도커 데몬)
- 도커 호스트 : 컨테이너가 실제로 실행되는 환경 (데몬 + 이미지 + 컨테이너 포함)
- 도커 레지스트리 : 이미지 저장소 (Docker Hub 또는 프라이빗 레지스트리)
즉, 사용자가 클라이언트에서 명령을 내리면 → 도커 호스트의 데몬이 컨테이너를 실행하고 → 필요한 이미지는 도커 레지스트리에서 가져오는 구조입니다.
'십대를 위한 코딩' 카테고리의 다른 글
Django 프로젝트 Autobiography 단계별 가이드 (1) | 2025.08.22 |
---|---|
Docker Hub의 주요 구성 요소 (0) | 2025.08.21 |
리눅스에서 도커(Docker) 설치하기 (1) | 2025.08.19 |
[스크리브너] 책 제작 도구, 스크리브너 구성 (0) | 2025.01.27 |
파이썬 개요 (1) | 2024.12.24 |