CI_CD
containerD 란?
ipxy
2025. 3. 29. 16:38
728x90
🐳 containerd란?
containerd는 CNCF(Cloud Native Computing Foundation)가 관리하는 고성능 컨테이너 런타임입니다.
한 줄 정의
🧩 "컨테이너를 다운로드하고, 실행하고, 멈추고, 삭제하는 역할만 하는 경량화된 런타임"
📦 containerd의 역할
기능 설명
기능 | 설명 |
이미지 관리 | Docker 이미지 pull/push, 저장소 관리 |
컨테이너 실행 | 컨테이너 생성, 시작, 중지, 삭제 |
스냅샷 관리 | overlayfs 등으로 컨테이너 계층 관리 |
네임스페이스 관리 | 격리된 컨테이너 그룹 구성 |
이벤트 처리 | 컨테이너 상태 이벤트 제공 |
OCI 준수 | OCI 표준을 따름 |
🧱 containerd는 어디서 쓰일까?
플랫폼/도구 | containerd 사용 여부 |
Docker (20.10+) | ✅ 내부에서 containerd 사용 중 |
Kubernetes | ✅ CRI를 통해 사용 가능 (containerd runtime) |
k3s / microk8s | ✅ 기본 런타임으로 containerd 사용 |
nerdctl | ✅ containerd를 위한 도커 대체 CLI |
🔄 Docker와의 관계
- Docker = High-level 도구
- containerd = Low-level 실행 엔진
Docker CLI
↓
Docker Engine
↓
containerd
↓
runc (리눅스 컨테이너 실행)
즉, Docker가 containerd를 내부적으로 사용합니다.
⚙️ containerd 직접 설치 (Ubuntu)
sudo apt update
sudo apt install -y containerd
기본 설정 파일 생성:
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
🧪 간단한 사용 예 (nerdctl)
# nerdctl은 containerd용 도커 클론 같은 CLI
nerdctl run -d -p 80:80 nginx
nerdctl ps
nerdctl images
nerdctl은 Docker 없이 containerd만으로도 컨테이너를 직접 다룰 수 있게 해줍니다.
✅ containerd 요약
항목 | 설명 |
소속 | CNCF 프로젝트 |
주요 기능 | 컨테이너 실행/이미지 관리 |
Docker와 관계 | Docker 내부 엔진으로 사용됨 |
Kubernetes에서 | containerd를 직접 런타임으로 사용 가능 |
장점 | 경량, 빠름, 표준(OCI) 준수, 안정성 |
728x90