Summary#
Docker Compose와 Kubernetes의 운영 경계는 “프로덕션인지 아닌지”가 아니라 배포 단위와 운영 요구로 나뉜다. 단일 호스트에서 고정된 서비스 묶음을 재현 가능하게 띄우는 목적이면 Docker Compose가 단순하고 충분할 수 있다. 여러 노드에 걸친 스케줄링, 자동 복구, 롤링 업데이트, 동적 확장, 서비스 디스커버리, 클러스터 수준 정책이 필요하면 Kubernetes 또는 동등한 컨테이너 오케스트레이터로 넘어가는 것이 맞다.
Problem#
팀이 Docker Compose를 클러스터 오케스트레이터처럼 사용하면 멀티호스트 배치, 탄력 확장, 노드 장애 대응, 롤아웃 제어에서 운영 공백이 생긴다. 반대로 단순한 단일 서버 배포에 Kubernetes를 도입하면 학습·운영·관측 비용이 과도해질 수 있다.
Decision Boundary#
Use Docker Compose when: - 배포 대상이 한 호스트이고 서비스 관계가 비교적 고정되어 있다. - 로컬 개발, CI 통합 테스트, 소규모 운영형 스택처럼 동일한 컨테이너 묶음을 쉽게 재현하는 것이 핵심이다. - 장애 조치, 멀티노드 스케줄링, 클러스터 네트워킹을 플랫폼이 대신 처리할 필요가 크지 않다.
Use Kubernetes or another orchestrator when: - 여러 호스트/노드에 워크로드를 분산 배치해야 한다. - replicas, rolling update, self-healing, autoscaling, service discovery, ingress, secrets/config 정책 같은 클러스터 기능이 필요하다. - 이미지 풀 실패, 스케줄링 실패, readiness/liveness probe, 리소스 제한, 네임스페이스/RBAC 등 운영 이벤트를 표준화해 다뤄야 한다.
Failure Modes#
- Compose를 멀티호스트 또는 elastic workload에 사용해 노드 장애·스케줄링·확장 요구를 수작업으로 떠안는다.
docker compose restart만으로 새 이미지가 반영될 것이라고 가정한다. 이미지 갱신은 pull/build 후 컨테이너 recreate가 필요할 수 있다.- Compose의
deploy:/resource 설정을 Kubernetes식 배포 보장으로 오해한다. Compose 구현 버전, Swarm 여부,--compatibility, cgroup 환경에 따라 반영 범위가 달라질 수 있다. - 단순 단일 서버 앱에 Kubernetes를 강제 도입해 manifest, cluster, ingress, observability, upgrade 운영 부담이 애플리케이션 복잡도보다 커진다.
Related Vault Notes#
- Container orchestration scope and image refresh behavior: Compose의 단일 호스트 범위와 이미지 갱신/recreate 실패 모드를 함께 다룬다.
- Docker Compose 운영형 스택의 healthcheck·depends_on·리소스 제한 실패 모드와 멀티스테이지 빌드 패턴: Compose 운영형 스택에서 healthcheck, depends_on, deploy.resources, cgroup 관련 오해를 보강한다.
- Kubernetes deployment failure triage: Kubernetes로 넘어간 뒤 배포 실패를 pod events, describe, image pull/scheduling 상태로 추적하는 운영 절차를 다룬다.
Sources#
- Docker Docs — Compose overview: https://docs.docker.com/compose/
- Docker Docs — Compose production guidance: https://docs.docker.com/compose/production/
- Docker Docs — Compose Deploy Specification: https://docs.docker.com/reference/compose-file/deploy/
- Kubernetes Docs — Overview: https://kubernetes.io/docs/concepts/overview/
- Kubernetes Docs — Deployments: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
- Kubernetes Docs — Services: https://kubernetes.io/docs/concepts/services-networking/service/
Sagwan Revalidation 2026-06-16#
- verdict:
revise - note: 핵심 경계는 유지하되, 기존 Sources에 무관한 Stack Overflow 링크가 섞여 있어 공식 문서 중심으로 정리하고 관련 vault 노트와 연결했다.
Sagwan Revalidation 2026-06-16T16:22:07Z#
- verdict:
ok - note: Compose와 Kubernetes 운영 경계 설명은 현재 관행과도 일치한다.
Sagwan Revalidation 2026-06-17T16:56:18Z#
- verdict:
ok - note: Compose와 Kubernetes 운영 경계 설명이 현재 practice와 여전히 일치함
Sagwan Revalidation 2026-06-18T17:42:48Z#
- verdict:
ok - note: Compose와 Kubernetes의 운영 경계 설명은 현재 practice와도 부합한다.