일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- nginx
- RSS
- namespace
- devops #engineer
- aws #engineer
- 쿠버네티스
- 파이썬
- springboot
- python
- Vagrant
- mongodb operator
- container
- k8s
- 컨테이너
- Strimzi
- 초간단파이썬
- variable
- Kubernetes
- httpd실행
- 도커
- java
- docker
- linux
- DOIK
- multivm
- WEB
- ioredirection
- bash
- Engineer
- devops #jenkins
- Today
- Total
샤인의 IT (막 적는) 메모장
[Container] Container란? 본문
Container란 무엇일까요?
보통 VM과 비교하여 많이 설명되긴 하지만 더 깊게 알아볼 필요가 있습니다.
VM은 아키텍처 중간에 하이퍼바이저(Hypervisor)라 불리우는 요소가 격리된 환경을 구성해주기 위해
올라가고 Container는 Container Engine이 올라가는 형태입니다.
하이퍼바이저는 VMware, Citrix, Nutanix등 가상화 업체가 유명하고
컨테이너런타임은 그 유명한 Docker가 있습니다.
그런데 왜 VM보다 Container가 더 가볍고 빠르다고 말하는 것일까요?
그 이유는 Hypervisor는 App을 올리기 위해 다시 OS를 설치하는 과정이 중간에 있습니다.
OS 위에 하이퍼바이저를 위한 OS를 다시 설치해서 App을 배포하는 것과
OS 위에 Container Runtime만 설치해서 App을 배포하는 것과 어떤게 더 가볍고 빠를가요?
컨테이너는 여기서부터 시작됩니다.
아직 컨테이너에 대해 정확하게 개념이 정해진 건 없지만
컨테이너는 리눅스 커널을 통하여 프로세스(컨테이너)를 격리된 환경에서 실행시키는 기술이라 말하고 있습니다.
즉 컨테이너는 하나의 프로세스로 동작한다는 뜻입니다.
당연히 OS에 올라가는 App보다 프로세스로 동작하는 컨테이너가 더 빠를수 밖에 없죠.
Hypervisor -> GuestOS -> App으로 동작하는 순서 그리고
ContainerRuntime -> App(Container)
두가지만 기억하면 좀 더 컨테이너를 이해하기 쉽지 않을까요??
Good Day!
'Container > Kubernetes 기본' 카테고리의 다른 글
[Kubernetes 기본 정리] Object (0) | 2022.01.05 |
---|---|
[Kubernetes 기본 정리] Namespace (0) | 2021.04.29 |
[Kubernetes 기본 정리] ServiceAccount (0) | 2021.04.15 |
[Kubernetes 기본 정리] 쿠버네티스 리소스 (0) | 2021.04.15 |
[Kubernetes 기본 정리] 쿠버네티스란? (0) | 2021.04.06 |