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