본문 바로가기
DevOps

[DevOps] Docker(도커) vs Kubernetes(쿠버네티스)

by SeungyubLee 2025. 10. 31.

※ 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 사용하기도 함