1. 기존 운영 체제와의 호환성
2. 서비스와 라이브러리 간의 의존성
3. 개발, 테스트, 운영 간의 다른 상태
OS 위에 Docker만 설치하면 의존성 있는 것들은 컨테이너 안에 들어가 있음
OS커널 + 소프트웨어
커널 : 하드웨어와 상호작용
소프트웨어 : 이게 OS를 다르게 만듦
! 도커는 공통의 Linux 커널을 공유함
그리고 도커의 컨테이너는 소프트웨어만 가지고 있음
Docker 컨테이너는 호스트의 커널을 공유하기 때문에 가능함
아 그러면 윈도우는 Linux Kernel에서 실행되는게 아니라 다른 OS 가 필요한데
그러면 Docker 의미 없는 거 아님?
Docker의 주목적은 응용 프로그램을 컨테이너화해 운송하고 실행하는 것
- Containers :
HW | OS | Docker | 라이브러리 / 종속성 + Application
- VM :
HW | OS | Hypervisor | OS + 라이브러리 /종속성 + Application
이래서 도커 컨테이너가 더 빨리 부팅될 수 있음
Docker는 기본 리눅스 커널 공유하므로 격리가 적다
VM은 기본 운영체제나 커널에 의존하지 않기 때문에 각기 다른 유형의 OS를 가질 수 있다
- 대부분의 일반적인 운영체제의 이미지를 찾을 수 있음
image : 패키지나 템플릿
container : 격리된 이미지 인스턴스를 실행하고 그들만의 환경과 프로세스를 가짐
쿠버네티스 설치 : 실패 (메모리 부족; 최소 t3.medium은 해야 함) (0) | 2025.04.02 |
---|---|
[Kubernetes for the Absolute Beginners] Kubernetes Concepts : Pods (0) | 2025.03.18 |
[AWS] 생존을 위한 AWS : 용어정리(3) - EC2, Auto Scaling, EBS (0) | 2025.01.12 |
[AWS] 생존을 위한 AWS : 용어정리(2) - S3 관련 내용 (0) | 2025.01.12 |
[AWS] 생존을 위한 AWS : 용어정리(1) - Amazon VPC : 서브넷, 라우팅과 NAT, 보안그룹과 네트워크 ACL (0) | 2025.01.12 |