컨테이너
컨테이너는 소프트웨어 서비스를 실행하는 데 필요한 특정 버전의 프로그래밍 언어 런타임 및 라이브러리와 같은 종속 항목과 애플리케이션 코드를 함께 포함하는 경량 패키지입니다.
리눅스는 원래 프로세스별로 자원을 격리해서 사용하는 cgroup과 특정 디렉터리로 권한을 제한하는 chroot 등으로 격리 환경을 구성할 수 있었습니다. 여기에 디스크의 파일 변경 사항을 레이어 형태로 저장하는 파일 시스템을 합해 컨테이너라는 개념이 탄생했습니다.
컨테이너 VS 가상 머신
가상 머신은 하이퍼바이저 위에 가상 머신마다 게스트 운영체제가 있고 그 위에 앱이 위치합니다. 반면, 컨테이너는 호스트 운영체제 위에 도커와 같은 컨테이너 엔진이 있고 그 위에 앱이 위치합니다. 즉, 가상 머신은 하드웨어 수준에서 가상화되지만 컨테이너는 운영체제 수준에서 가상화됩니다.
컨테이너가 구조상 레이어가 더 간단하므로 가상 머신보다 성능을 높이기 쉬우며 크기도 매우 가볍습니다. 또한, 운영체제 커널을 공유하며 가상 머신에 필요한 것보다 훨씬 적은 메모리를 사용합니다.
도커
도커는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. 도커를 이용하면 간단한 명령으로 컨테이너 이미지를 만들고 도커 허브와 같은 저장소(registry)에 저장할 수 있습니다. 그리고 도커를 설치한 호스트에 해당 컨테이너 이미지를 다운로드해서 컨테이너를 실행할 수 있습니다.
정말 간단하게 컨테이너에 대해 알아봤습니다. 감사합니다.
출처
쿠버네티스 입문 - 예스24
현업의 운영 경험을 바탕으로 엄선한 쿠버네티스 입문 A~Z현재 다양한 인프라 구축의 핵심 기술은 컨테이너이다. 운영체제, 데이터베이스, 웹 서버 등 인프라 구축에 필요한 컨테이너 이미지 각
www.yes24.com
https://cloud.google.com/learn/what-are-containers?hl=ko
컨테이너란? | Google Cloud
컨테이너는 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 경량 소프트웨어 패키지입니다.
cloud.google.com
'Computer Science' 카테고리의 다른 글
[Computer Science] 클라우드 컴퓨팅 (2) | 2024.02.15 |
---|