Docker 와 Containerd의 차이

carlkim·2024년 1월 16일
0

WAS

목록 보기
7/12

공통점 모두 컨테이너 기술을 지원하는 오픈 소스라는 것.

Docker

목적 및 범위

컨테이너의 전체 생명 주기를 관리하는 종합 플랫폼.
1. 컨테이너의 생성
2. 관리
3. 배포
4. 네트워킹
5. 보안 등
종합적인 기능 제공 Docker는 개발자 및 운영 팀이 단일 통합 환경에서
컨테이너 애플리케이션을 구축하고 실행하는 데 중점을 둔다.

인터페이스

-- CLI와 사용자 친화적인 GUI로 켄테이너를 빌드 실행 관리 가능

DOCKER는 GUI도 제공한다.

커스터마이징 및 확장성

Docker는 다양한 플러그인을 제공 상단 마켓 플레이스에서 설치 가능.
다양한 기능 추가 docker 동작 수정 가능

Containerd

컨테이너 데몬 - 쿠버네티스에서만든 Container Runtime Interface(CRI)를 구현한다.
생명 주기를 관장할 때 runC를 사용한다.

목적 및 범위

Docker의 하위프로젝트에서 시작한 플랫폼.

  1. 컨테이너의 런타임을 위한 코어 기능을 제공하는 것에 목표가 있다.
  2. 컨테이너의 실행, 스토리지, 네트워킹 같은 핵심 기능을 담당
    Docker Cli같은 상위 수준 기능을 containerd 사용하여 구현 가능.

인터페이스

containerd는 주로 백그라운드에서 실행되는 데몬 형태로 동작하기에 상위 수준의 사용자 인터페이스를 직접 제공하지 않는다. 대신 상위 수준도구인 docker에서 사용된다.

커스터마이징 및 확장성

컨테이너의 핵심 기능에 중점을 두었기 때문에 확장성은 Docker보다는 덜하다.

요약

Docker는 컨테이너의 전체 스택을 관리하는 통합 플랫폼, 사용자 친화적이고 확장성이 높다.

컨테이너 == 프로세스
containerd == Docker의 컨테이너 런타임이다.
Docker 내부에 Containerd가 속해 있다.

containerd는 컨테이너의 핵심 기능을 제고앟고 보다 저수준 레벨에서 컨테이너를 관리하는데 중점을 두고 있다.

profile
가장 나답게 문제해결.

0개의 댓글