클라우드 ·
도커 컨테이너 10년...빌드·배포·실행의 혁신, 그 기술적 여정을 돌아보다
ACM 학술지, 도커 유지관리자들이 직접 쓴 10년 회고 논문 3월호 게재
[한국정보기술신문] 컨테이너 기반 개발 환경의 표준으로 자리 잡은 도커(Docker)가 2013년 첫 출시 이후 10년의 기술적 여정을 담은 논문이 국제 컴퓨팅 학술지에 게재됐다. 케임브리지 대학교의 아닐 마다바페디(Anil Madhavapeddy), 도커 주식회사의 데이비드 스콧(David J. Scott), 저스틴 코맥(Justin Cormack) 등 도커 유지관리자들이 직접 저술한 이 논문은 2026년 3월 『ACM 커뮤니케이션즈』에 수록됐다.
논문은 도커가 단순한 명령줄 인터페이스 뒤에 수십 년에 걸친 운영체제 연구 성과를 집약한 시스템임을 밝히고, 리눅스에서의 기원부터 macOS와 윈도우 지원에 이르기까지의 기술 발전 과정을 설명한다.
도커란 무엇인가
도커는 애플리케이션 스택의 조립을 간소화하는 빌드, 실행 파일 및 데이터의 신속한 배포를 지원하는 푸시, 그리고 동일한 머신에서 여러 애플리케이션을 격리된 상태로 실행하는 런의 세 가지 핵심 기능으로 구성된 개발 도구다.
개발자는 소스 코드와 함께 단일 도커파일로 이미지를 직접 빌드하고, 공개된 이미지를 재활용해 전 세계 프로그래밍 언어 및 애플리케이션 스택에 걸친 패키징 작업을 공유할 수 있다. 2013년 첫 출시 이후 도커는 핵 융합 시뮬레이션 기업 프록시마 퓨전부터 스트리밍 서비스 넷플릭스에 이르기까지 다양한 분야에서 빠르게 채택됐다.
핵심 기술: 네임스페이스, 하이퍼바이저, 그리고 SLIRP
도커의 기술적 기반은 리눅스 커널 네임스페이스와 가상화 기술의 결합에 있다. macOS와 윈도우에서 도커를 구동하기 위해 개발팀은 기존 방식처럼 데스크톱 운영체제와 리눅스를 병렬로 실행하는 대신, 하이퍼바이저를 사용자 공간 애플리케이션 안에 내장하고 그 안에서 리눅스를 실행하는 역발상의 소프트웨어 아키텍처를 채택했다. 이 접근법의 영감은 유니커널 연구에서 비롯됐으며, 운영체제 구성 요소를 더 큰 애플리케이션 안에 유연하게 내장할 수 있음을 보여줬다.
네트워크 처리 방식에도 독창적인 해법이 적용됐다. 도커는 1990년대 팜 파일럿용 전화접속 도구였던 SLIRP를 재활용해, 컨테이너 네트워크 트래픽을 네트워크 브리지 대신 호스트 시스템 호출로 변환함으로써 기업 방화벽 제한을 우회할 수 있도록 했다.
클라우드 네이티브 생태계의 표준으로
도커는 다양한 언어로 작성된 마이크로서비스를 개발하고 배포하는 오랜 과제를 해결했다는 점에서 폭넓은 인기를 얻었으며, 쿠버네티스 같은 멀티 테넌트 플랫폼에서 클라우드 네이티브 애플리케이션을 관리하는 사실상의 표준이 됐다.
클라우드 네이티브 컴퓨팅 재단이 핵심 구성 요소들의 관리를 맡고 있으며, 오픈 컨테이너 이니셔티브가 이미지 포맷 표준을 담당하고 있다. 현재 도커는 클라우드, 데스크톱, 자동차·모바일·우주선 분야 엣지 컴퓨팅까지 폭넓게 배포되고 있다.
단일 시스템에서 개방형 생태계로
도커 프로젝트는 최근 수십 년 사이 가장 성공적인 오픈소스 개발자 커뮤니티 중 하나로, 한때 단일 모놀리식 시스템이었던 것이 현재는 독립적으로 개발되는 표준화된 구성 요소들로 분리됐다.
2025년의 일반적인 개발자 워크플로는 지속적 테스트 및 배포, IDE 언어 서버, 에이전트 코딩을 통한 인공지능 보조를 통합하는 형태로 발전했다. 도커 관점에서 핵심 '빌드 및 실행' 워크플로는 10년 전과 유사하지만, 다양한 환경에서 강력한 샌드박싱을 제공하기 위한 시스템 지원은 크게 늘었다.
논문의 저자 마다바페디는 소셜미디어를 통해 "도커가 초기에 너무 빠르게 성장하면서 학술 논문을 쓸 기회가 없었는데, 이번 글은 오래 기다려온 작업"이라며 Go, OCaml, 스위프트, 리눅스, 중첩 커널, SLIRP 같은 고대 네트워크 프로토콜이 뒤섞인 컨테이너 기술의 복잡한 내막을 전했다.
한국정보기술신문 클라우드분과 이준호 기자 news@kitpa.org