본문 바로가기
클라우드/쿠버네티스

컨테이너 제왕의 몰락? 도커(Docker)는 왜 쇄락의 길을 걷게 되었나 🐳📉

by gasbugs 2025. 12. 8.

안녕하세요! 오늘은 IT 인프라 역사에서 가장 드라마틱한 사건 중 하나인 '도커(Docker)의 흥망성쇠'에 대해 이야기해 보려 합니다. 2013년 혜성처럼 등장해 세상을 바꿨던 도커가 왜 예전만 못한 위상을 갖게 되었는지, 그 결정적인 이유 5가지를 깊이 있게 파헤쳐 보겠습니다. 🧐


1. 오케스트레이션 전쟁의 패배: Swarm vs Kubernetes ⚔️

도커의 가장 큰 실책은 컨테이너 런타임(실행기)을 넘어, 수많은 컨테이너를 관리하는 '오케스트레이션' 시장까지 장악하려 했다는 점입니다.

  • Docker Swarm의 한계: 도커는 자체 도구인 'Swarm'을 내세웠습니다. 설정이 쉽고 가벼웠지만, 대규모 클러스터를 관리하기에는 기능이 부족했습니다.
  • Kubernetes(K8s)의 등장: 구글이 만든 쿠버네티스가 등장하면서 판도가 뒤집혔습니다. 쿠버네티스는 복잡하지만 강력했고, 전 세계 클라우드 표준이 되었습니다.
  • 결과: 기업들은 "도커로 만들고, 쿠버네티스로 돌린다"는 공식을 따르게 되었습니다. 도커는 단순한 '도구'로 전락하고, 판은 쿠버네티스가 가져가게 된 것이죠. ☸️

2. "굿바이 도커" 쿠버네티스의 DockerShim 중단 선언 👋

사실 도커에게 가장 뼈아픈 타격은 쿠버네티스가 날렸습니다.

  • 무거워진 도커: 쿠버네티스 입장에서 도커는 너무 무거운 도구였습니다. 컨테이너를 실행만 하면 되는데, 도커는 불필요한 기능(네트워크, 볼륨 등)을 너무 많이 가지고 있었죠.
  • CRI(Container Runtime Interface)의 등장: 쿠버네티스는 도커 없이도 컨테이너를 돌릴 수 있는 표준 인터페이스(CRI)를 만들었습니다.
  • DockerShim 제거: 결국 쿠버네티스는 도커를 연결해주던 중간 다리인 DockerShim을 제거했습니다(v1.24 버전부터). 이제 서버 운영 환경에서 굳이 도커를 설치할 필요가 없어진 것입니다. containerd나 CRI-O 같은 더 가벼운 대안들이 그 자리를 차지했습니다. 🚫

3. 표준화의 역설 (OCI): 누구나 만들 수 있게 되다 🛠️

도커는 컨테이너 기술의 발전을 위해 OCI(Open Container Initiative)라는 표준 기구를 만드는 데 앞장섰습니다. 하지만 이것이 도커의 독점력을 깨는 부메랑이 되었습니다.

  • 기술의 평준화: 이미지 포맷과 런타임이 표준화되면서, 굳이 도커가 아니더라도 Podman, Buildah 같은 대체 도구들이 도커 이미지를 똑같이 다룰 수 있게 되었습니다.
  • 레드햇의 공격: 특히 레드햇(RedHat)은 도커 없이도 완벽하게 작동하는 Podman을 밀어붙이며 엔터프라이즈 시장에서 도커의 입지를 좁혔습니다. 📦

4. 보안 구조의 태생적 한계 (Root Daemon) 🔒

도커는 구조적으로 보안에 취약한 점이 있었습니다.

  • 루트 권한 필수: 도커 데몬은 기본적으로 '루트(Root)' 권한으로 실행됩니다. 만약 도커 데몬이 해킹당하면 서버 전체가 위험해지는 구조입니다.
  • Rootless의 부상: 반면 경쟁자인 Podman 등은 처음부터 루트 권한 없이 실행 가능한(Rootless) 구조를 강조했습니다. 보안을 중시하는 기업들은 도커의 이 무거운 데몬 방식에 부담을 느꼈습니다. 🛡️

5. 유료화 정책과 개발자들의 피로감 💸

기술적인 이유 외에도 비즈니스 전략의 실패가 있었습니다.

  • 수익 모델 부재: 도커는 기술적으로는 성공했지만, 돈을 버는 데는 꽤 오랫동안 실패했습니다. 결국 엔터프라이즈 사업 부문을 '미란티스(Mirantis)'에 매각하며 덩치가 쪼그라들었죠.
  • Docker Desktop 유료화: 수익을 위해 대기업 사용자를 대상으로 Docker Desktop을 유료화했습니다. 이는 기업들에게 "꼭 도커를 써야 해?"라는 의문을 품게 만들었고, Rancher Desktop, Lima 같은 무료 대안을 찾는 계기가 되었습니다. 🏃‍♂️

📝 결론: 도커는 죽었나? 아니요, 역할이 바뀌었습니다.

도커가 '운영 환경(Production)'의 왕좌에서는 내려왔지만, 여전히 '개발 환경(Development)'에서는 압도적인 1위입니다. 개발자들은 여전히 docker build를 치고, Dockerfile을 작성합니다.

하지만 "인프라의 모든 것"이 되려던 도커의 꿈은 꺾였고, 이제는 거대한 클라우드 생태계의 '하나의 부품'으로 축소되었습니다. 이것이 바로 도커가 쇄락, 혹은 '정상화'의 길을 걷게 된 이유입니다.

여러분의 생각은 어떠신가요? 댓글로 의견을 남겨주세요! 👇