상세 컨텐츠

본문 제목

[Kubernetes - 1] Docker : 컨테이너가 필요한 이유

😎 지식/클라우드☁️

by :부셔져버린개발자 2025. 3. 3. 20:06

본문

Why need containers?

1. 기존 운영 체제와의 호환성
2. 서비스와 라이브러리 간의 의존성 
3. 개발, 테스트, 운영 간의 다른 상태 
 

What can it do?

OS 위에 Docker만 설치하면 의존성 있는 것들은 컨테이너 안에 들어가 있음
 

OS 동작 방식

OS커널 + 소프트웨어 
커널 : 하드웨어와 상호작용 
소프트웨어 : 이게 OS를 다르게 만듦
 

! 도커는 공통의 Linux 커널을 공유함 
그리고 도커의 컨테이너는 소프트웨어만 가지고 있음 

 

Sharing the Kernel

Docker 컨테이너는 호스트의 커널을 공유하기 때문에 가능함 
 
아 그러면 윈도우는 Linux Kernel에서 실행되는게 아니라 다른 OS 가 필요한데 
그러면 Docker 의미 없는 거 아님?
 
Docker의 주목적은 응용 프로그램을 컨테이너화해 운송하고 실행하는 것 
 

Containers vs Virtual Machines

- Containers :
HW | OS | Docker  | 라이브러리 / 종속성 + Application
 
- VM : 
HW | OS | Hypervisor | OS + 라이브러리 /종속성 + Application 
 
이래서 도커 컨테이너가 더 빨리 부팅될 수 있음 
 
Docker는 기본 리눅스 커널 공유하므로 격리가 적다
VM은 기본 운영체제나 커널에 의존하지 않기 때문에 각기 다른 유형의 OS를 가질 수 있다 
 

Docker Registry

- 대부분의 일반적인 운영체제의 이미지를 찾을 수 있음
 

Container vs image

image : 패키지나 템플릿
container : 격리된 이미지 인스턴스를 실행하고 그들만의 환경과 프로세스를 가짐
 
 

728x90

관련글 더보기