피드로 돌아가기
Dev.toDevOps
원문 읽기
Docker가 애플리케이션과 의존성을 하나의 경량 단위로 패키징하여 환경 차이 문제를 원천 차단한다
Docker & Containers: Ground UP
AI 요약
Context
기존 VM 기반 배포는 전체 운영체제를 포함하여 이미지가 2.3GB에 달하고 시작 시간이 30초~2분이 소요되었다. 개발 환경과 프로덕션 환경 간 라이브러리 버전 불일치로 'works on my machine' 문제가 만성적으로 발생했다.
Technical Solution
- 호스트 OS 커널을 공유하는 컨테이너 기술 도입으로 VM 대비 이미지 크기를 ~22MB 수준으로 축소
- Linux namespaces와 cgroups를 활용한 프로세스 레벨 격리로 데이터 손실 없이 컨테이너 간 독립성 확보
- Dockerfile 기반 빌드로 변경된 레이어만 재구축하여 빌드 속도 최적화
- Docker Daemon이 이미지·컨테이너·네트워크·볼륨을 중앙 관리하고 CLI는 API 요청 전달만 담당
- DockerHub 레지스트리를 통해 6개 명령어로 전 세계 어디서나 애플리케이션 실행 가능
Impact
VM 대비 이미지 크기 100배 감소, 시작 시간 milliseconds 수준으로 단축
Key Takeaway
컨테이너는 완전한 OS가 아닌 호스트 커널을 공유하는 경량 격리 단위이며, Docker는 이 컨테이너를 빌드·실행·배포하는 통합 플랫폼이다
실천 포인트
Ubuntu 환경에서 apt install docker.io 후 docker build → docker run → docker push 명령어로 로컬 테스트부터 글로벌 배포까지 단 6개 명령으로 완료 가능