Docker — 컨테이너가 모든 것을 바꿨다
Docker — 컨테이너가 모든 것을 바꿨다
1. 요약
Docker 는 2013년 3월 PyCon 에서 Solomon Hykes 가 "Hello PyCon" 발표로 세상에 공개한 Linux 컨테이너 기반 SW 패키징 도구 다. dotCloud (2010, 파리 창립) 의 내부 오케스트레이션 도구 가 PaaS 자체보다 가치 있다 는 깨달음에서 출발. 컨테이너 = 코드 + 환경 + 의존성을 하나로 묶는다.
2. 배경 (이전 도구의 한계)
VM (가상머신) 은 전체 OS 를 가상화 → 수십 GB, 수 분 부팅. 한 머신에 5~10개 VM 이 한계. 1990년대 Linux 의 namespace + cgroup 으로 프로세스 격리 가 가능했지만 너무 어려워서 일반 개발자는 못 썼다. LXC (2008) 도 마찬가지. Hykes 의 통찰: Dockerfile + Image + Registry 의 3단 단순화 로 누구나 컨테이너를 쓸 수 있게 한다.
3. 핵심 개념·표기법
Dockerfile:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
3 핵심:
- Image — 불변 패키지 (계층 구조, layered)
- Container — Image 의 실행 인스턴스
- Registry — Image 저장소 (Docker Hub)
4. 언어·OS 매핑 (★ 강의 핵심)
| 시대 | 환경 | Docker 활용 |
|---|---|---|
| 2008~13 | LXC | 시스템 관리자 전용 |
| 2013 | Docker 0.1 — PyCon 발표 | 개발자 친화 |
| 2014 | libcontainer (LXC 대체, Go 작성) | 자체 런타임 |
| 2015~ | Kubernetes 시대 | Docker + K8s 표준 |
| 2018~ | containerd, runc | 표준화 (OCI) |
| 2024~ | + AI 에이전트 | LLM 작업 환경 격리 (Claude Code Sandboxes) |
★ Docker 가 "My machine works" 문제를 해결 — 코드 + 환경이 한 패키지 → 어디서나 동일 실행. 이 재현성 이 LLM 시대 AI 에이전트 격리 환경 (Claude Code 의 sandbox, GitHub Codespaces) 의 직접적 기반.
5. 현대까지의 영향
- Kubernetes (2014) — 컨테이너 오케스트레이션
- OCI (Open Container Initiative, 2015) — 표준 컨테이너 형식
- containerd, runc — 저수준 런타임 분리
- Podman — Docker 대체 (rootless)
- WebAssembly + WASI (2019~) — 차세대 컨테이너
- AI 에이전트 sandbox — Claude Code, Cursor 의 격리 환경
6. 주요 인물·사건
| 연도 | 사건 |
|---|---|
| 2010 | Hykes, Pahl, Luzzardi — Paris 에서 dotCloud 창립 |
| 2010 | Y Combinator (S10) → 샌프란시스코 |
| 2013 3월 | PyCon 2013 — Hykes 의 Docker 첫 공개 |
| 2014 | libcontainer (LXC 대체, Go) |
| 2015 | OCI 표준화 |
| 2017 | Docker EE → Mirantis 인수 |
| 2024~ | AI 에이전트 격리 환경의 기반 |
7. 강의 활용
"Docker 가 코드 + 환경을 한 패키지로 묶었듯, AI 에이전트도 명세 + 환경 + 데이터를 한 단위로 기록한다" — 본 강의 Plan-First 의 완결된 작업 단위 사상이 Docker 사상의 진화. 재현성 (Reproducibility) 은 SW 의 영원한 가치 — Docker 가 그것을 언어·플랫폼 무관 으로 풀어냈다.
출처
- Docker (software) — Wikipedia
- 11 Years of Docker — Docker Blog
- Evolution of Docker from Linux Containers — Baeldung
- Open Source Leaders: Solomon Hykes — The New Stack
그룹 시리즈
→ synthesis/group-se_g5 (시대 그룹 종합 카드)