관리 메뉴

나만의공간

Docker 와 cri-o 비교 본문

IT/Docker

Docker 와 cri-o 비교

밥알이 2022. 3. 16. 08:55

소개

  1. Container 표준규격이 없을때 Container 포맷과 런타임의 사실상 표준은  Docker가 지배.
  2. Google / Redhat / MS / IBM 등 Container 간의 이식성을 표준화 화기 위해 OCI(Open Container Initiative) 구성
  3. k8s의 컨테이너 런타임 구성을 위해 CRI(Container Runtime Interface) 등장
  4. RHEL 8버전이상, Openstack 16버전이상, Openshift 4버전이상 , awx 18버전 이상에서 Default Container를 podman로 채택

cri-o 이해

  1. cri-o는 컨테이너 실행만 가능하기 때문에 이미지 생성이나 관리를 하기 위해서는 추가 Component들이 필요함. (추가 Component정보는 아래 기술)
  2. fork/exec 모델로 작동
  3. 인식가능한 파일시스템은 Overlayfs, devicemapper, btrfs 기반에서 인식가능하고, nfs,glusterfs,cephfs는 아직 stable하지 않음)
  4. docker schema v1/2 모두 지원

crictl와 podman의 차이

  1. crictl은 cri프로토콜을 사용해서 cli  제공
  2. podman은 daemon-less로 pod과 컨테이너를 관리하는 cli, docker와 동일한 cli기능 제공.
    다만 cri-o와 직접 통신하지는 않기 때문에 cri-o에서 생성된 컨테이너를 볼수 없음.
    (libpod라는 podman의 컨테이너 관리 라이브러리 개발을 통해 개선할 예정)
  3. Docker에서 실행 혹은 빌드된 컨테이너들을 podman으로 실행 가능.

CRI-O Component

  1. podman(포드맨) : Container 실행을 위한 Tool
  2. Buildah(빌다) : Container 이미지 생성
  3. skopeo(스코피오) : 이미지 저장소 관리 Tool

프로세스 구동 모델 비교

  1. fork/exec 모델과 서버/클라이언트 모델의 동작 방식 비교
  2. podman 과 Docker의 프로세스 실행 비교
  3. 차이점차이점DockerPodman
    구동방식  Docker daemon 구동필요
    프로세스 구동시 root 권한 필요
    Daemon-less (systemd 에서 podman 실행)
    root-less (1024 이하 포트 실행시에만 root권한 필요)
    프로세스 실행모델 서버/클라이언트 fork/exec

참고자료 : http://igoni.kr/linuxboard/483

 

'IT > Docker' 카테고리의 다른 글

Docker MySql 설치  (0) 2023.07.18
Docker 불륨 마운트 하여 Jupyter LAB 서비스 구축  (0) 2021.09.24
Docker Mysql 서비스 구축하기  (0) 2021.09.23
Docker 컨테이너 실행 연습문제  (0) 2021.09.16
Docker 유용한 명령어  (0) 2021.09.08
Comments