
※ Docker vs Kubernetes
| 구분 | Docker | Kubernetes |
| 개념 | 애플리케이션을 컨테이너로 만들고 실행하는 기술 | 여러 컨테이너를 자동으로 배포·운영·관리하는 시스템 |
| 역할 | 실행 환경 패키징 및 컨테이너 생성 | 컨테이너를 서버 여러 대에서 스케일링·자동 복구·로드밸런싱 |
| 포커스 | 앱을 컨테이너로 만들고 실행 | 컨테이너를 안정적으로 운영하고 관리 |
| 구성 요소 | Docker Engine, Dockerfile, Image, Container | Pod, Node, Deployment, Service, Ingress |
| 확장성 | 단일 서버 중심 | 여러 서버(클러스터) 기반 대규모 시스템 |
| 장애 대응 | 수동 복구 | 자동 복구, 자동 재배포 |
| 배포 방식 | Docker CLI, Compose | kubectl, Helm, CI/CD |
| 사용 목적 | 앱 실행을 간편하게 | 대규모 서비스 운영을 안정적으로 |
※ 한 줄 정의
Docker = 컨테이너를 만든다.
Kubernetes = 컨테이너들을 운영한다.
※ 비유로 이해
| 상황 | 설명 |
| Docker | 음식을 도시락(컨테이너)으로 깔끔하게 포장하는 기술 |
| Kubernetes | 도시락 수천 개를 여러 매장에 자동 배분하고, 부족하면 자동으로 더 만들고, 문제 생기면 자동 교체하는 배달·운영 총괄 시스템 |
Docker = 요리하고 포장
Kubernetes = 배달, 창고, 재고, 직원 스케줄, 문제 대응까지 전부 자동
※ 간단 예시
Docker만 사용
· 서비스 10개 → 서버에 컨테이너 직접 띄움
· 서버 다운 → 직접 재시작
· 트래픽 증가 → 수동으로 컨테이너 늘림
Kubernetes 사용
· 서비스 10개 → Kubernetes가 여러 서버에 자동 배포
· 서버 다운 → Kubernetes가 자동으로 다른 서버에 재배치
· 트래픽 폭증 → 자동으로 컨테이너 수 증가 (Auto scaling)
※ Docker vs Kubernetes 요약
Docker는 컨테이너 기술이고, Kubernetes는 컨테이너 오케스트레이션(자동 관리) 시스템이다.
※ 참고
Kubernetes(쿠버네티스)의 약어로 K8s 사용하기도 함
'DevOps' 카테고리의 다른 글
| [DevOps] 파이프라인(Pipeline) 이해하기 (GitHub/GitLab → Jenkins → Docker → Kubernetes) (0) | 2025.10.31 |
|---|