Container
- 컨테이너는, 애플리케이션 소스코드와 모든 환경에서 소스코드를 실행하는데 필요한 모든 운영체제(OS)라이브러리 및 종속성을 결합하는 경량의 실행 가능한 애플리케이션의 구성요소
- 컨테이너는 프로세스를 격리하고, 해당 프로세스가 액세스 할 수 있는 CPU, 메모리, 디스크의 양을 제어하여 여러 애플리케이션이 단일 OS 인스턴스를 공유할 수 있도록 하는 운여체제 가상화의 한 형태
가상 머신과의 비교
-
가상머신은 실제 컴퓨터 하드웨어에서 추상화 된 서버로, 하나의 물리적인 서버에서 여러개의 VM 을 실행하거나, 두개 이상의 물리적 서버에 걸쳐있는 단일 VM 을 실행할 수 있다.
-
각 가상머신은 자체 OS 인스턴스를 실행하며, 각 애플리케이션을 자체 가상머신에 격리하여 동일한 기본 물리적 하드웨어에서 실행되는 애플리케이션이 서로 영향을 미칠 가능성을 줄일 수 있다.
-
컨테이너는 이러한 추상화를 더 높은 수준으로 끌어올려, 기본 가상화 하드웨어를 공유할 뿐만 아니라, 기본 가상화 OS 커널도 공유한다.
-
컨테이너는 VM 과 동일한 격리,확장성,처분성을 제공하나 자체 OS 인스턴스의 페이로드를 가지고 있지 않으므로 VM 보다 가벼움.
https://www.ibm.com/kr-ko/topics/kubernetes#:~:text='k8s' 또는 'kube',엔지니어들이 처음 개발했습니다.