피드로 돌아가기
Why containers exist: from physical servers to Docker
Dev.toDev.to
Infrastructure

OS 커널 공유를 통한 밀리초 단위 기동 및 환경 일관성 확보

Why containers exist: from physical servers to Docker

Javi Palacios2026년 6월 26일6beginner

Context

물리 서버 시대의 낮은 자원 효율성과 VM의 무거운 Guest OS 오버헤드로 인한 배포 지연 발생. 개발 환경과 운영 환경의 버전 불일치로 인한 환경 의존성 문제가 소프트웨어 릴리스의 주요 병목 지점으로 작용함.

Technical Solution

  • 하드웨어 가상화 대신 OS 레벨 가상화를 통한 호스트 커널 공유 구조 설계
  • cgroups 및 namespaces 기반의 프로세스, 네트워크, 파일시스템 격리 구현
  • 애플리케이션과 런타임, 의존성을 하나의 Immutable Image로 패키징하여 이식성 확보
  • Hypervisor 제거를 통해 Guest OS 부팅 과정 생략 및 메모리 점유율 최소화
  • Container Runtime을 통한 경량화된 격리 환경의 즉각적인 생성 및 소멸 제어

1. 서비스별 런타임 버전 및 시스템 라이브러리 의존성을 명시한 Dockerfile 정의

2. 로컬-스테이징-프로덕션 전 단계에서 동일한 이미지 태그를 사용하는 CI/CD 파이프라인 구축

3. VM 대비 컨테이너의 메모리 효율성을 고려한 마이크로서비스 단위의 자원 할당량 설정

원문 읽기