티스토리 뷰
728x90
- 컨테이너는 OS의 기능을 활용해서 프로세스를 격리하고, 격리된 프로세스가 리소스를 쉽게 공유할 수 있도록 해준다.
- 게다가 격리된 프로세스 형태로 실행되므로, 환경에 상관없이 안정적이며 일관된 배포를 제공한다.
728x90
1. VM 과 차이점
- VM은 하이퍼바이저(가상화 소프트웨어 계층) 을 통해 하드웨어를 가상화한다.
- 컨테이너는 시스템 커널 OS를 공유하기 때문에 각 애플리케이션마다 OS가 필요하지 않는다.
2. 컨테이너의 이점
- 시스템 OS 커널을 공유함으로써 애플리케이션마다 OS가 필요하지 않아 크기가 작고 가볍다.
- 이식성 및 플랫폼 독립성 : 컨테이너가 모든 종속 항목들을 자신과 함께 전달하므로, 호스트 운영체제와 상관없이 동일하게 유지되며 이를 재구성하지 않고 바로 실행할 수 있다.
- 유지관리 효율 : 컨테이너는 OS 커널을 공유하기 때문에, OS 수준에서 업데이트/패치 작업을 수행하면 모든 컨테이너에 변경사항이 적용된다.
- 활용도 향상 : 컨테이너를 사용하여 개발자와 운영자는 CPU 및 메모리 리소스의 활용도를 향상 시킬 수 있다.
- 보안성 : 격리된 환경에서 실행되기 때문에, 한 컨테이너에서 발생한 문제들이 다른 컨테이너나 호스트 운영체제에 영향을 미치지 않는다.
3. 컨테이너 runtime
- 컨테이너 runtime : 컨테이너의 실행을 위해 필요한 모든 환경을 제공하고 컨테이너의 생성이나 실행 및 관리를 위한 소프트웨어이다.
- 저수준 runtime
- namespace와 cgroup을 이용해서 컨테이너 자체를 만든다.
- 이미지로부터 컨테이너를 실행하는 기능은 없다.
- 예) runc
- 저수준 runtime
- 고수준 runtime
- 저수준 runtime 위에 배치되어 이미지로부터 컨테이너를 실행할 수 있다.
- 예) containerd, cri-OS
- docker
- docker의 경우, docker-containerd 라는 고수준 runtime 과 docker-runc 라는 저수준 runtime을 이용해서 제공하고 있다.
쿠버네티스 이해하러 가보기
2024.01.18 - [infra/kubernetes] - 쿠버네티스의 기초
쿠버네티스의 기초
[ 쿠버네티스란? ] 컨테이너화된 워크로드와 서비스를 관리하기 위한 오케스트레이션 도구 [ 쿠버네티스를 관리하는 방법 ] 1.관리형 쿠버네티스 - 퍼블릭 클라우드 업체에서 제공하는 관리형 쿠
coding.lifeandmoney.kr
728x90
'infra > docker' 카테고리의 다른 글
docker insecure registry 설정 (0) | 2023.12.27 |
---|
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크