Docker&K8s
CH.01_01 컨테이너란?
dding-shark
2025. 7. 18. 11:36
728x90
도커/ 쿠버네티스 컨테이너 개발과 운영
CH01_ 컨테이너와 도커 기초
- 컨테이너 기술의 개념과 의의
- 도커의 개요 역사
- 도커를 이용한 컨테이너 실행
- 도커 데스크톰을 로컬에 실행
CH01_01 컨테이너란?
- 가상화 기술을 이용 -> 호스트 OS형 가상화 기술에 비해 가볍게 돌아감
- 서버(실행)환경에 독립적으로 실행 가능
- 개발 환경 뿐만 아니라, 이후 운영환경 배포와 애플리 캐이션 플랫폼 기능까지 있다.
CH01_01 : 신기한거 정리 내용
- 호스트OS 형 가상화 vs 하이퍼 바이저 가상화 vs 컨테이너형 가상화
- 호스트OS형 가상화 vs 하이퍼 바이저 가상화
- 호스트OS형 가상화 :
- H/W 위에 OS 를 설치 -> 에뮬레이터 S/W를 이용하여 -> 게스트OS를 실행
- S/W를 에뮬레이터 하는구조 -> 성능 면에서 제약이 있다.
- ex. VMware Server, Microsoft Virtual Server ...
- H/W 위에 OS 를 설치 -> 에뮬레이터 S/W를 이용하여 -> 게스트OS를 실행
- 하이퍼 바이저형 가상화 :
- H/W상에 가상화 SW를 설치하고, 그 위에 가상 머신을 동작시킴
- 호스트OS를 거치지 않아 성능이 우수하다.
- ex. VMware vSphere, Hyper-V, Xen ,KVM...
- 하이퍼 파이저의 세부 분류
- 전 가상화 :
- 하이퍼 바이저를 이용하여 가상머신을 만드는데, 실제 H/W랑 완전히 독립된 환경에서 실행키심.
- 가상머신과 실제 HostOS는 완전한 독립,
- DOM0 라는 가상머신이 HostOS에 구동이 되며, 모든 명령은 DOM0를 통해서 내림.
- 반 가상화 :
- 가상머신이 실제 하드웨어랑 상호작용할때 일부 수정된 운영체제를 사용하는 기술
- 가상머신의 OS 가 실제 하드웨어와 직접 통신하지 않고, 가상화 레이어를 통해 상호작용
- 하이퍼 바이저에세 Hyper Call 요청을 할 수 있도록, OS를 좀.. 수정해서 사용하기 편하세 이용
- 오픈소스OS 가 아니면 이용하기 쉽지않음
- 전 가상화 :
- H/W상에 가상화 SW를 설치하고, 그 위에 가상 머신을 동작시킴
- 그래서.. 둘이 무슨 차이인데...
- 게스트 OS를 실행 시키는 주체가 ->
- 호스트형 OS -> H/W위에 HostOS 위에 실행중인 가상화S/W가 게스트OS를 실행
- 하이퍼 바이저형 -> H/W위에 바로 가상화S/W가 실행된다. : HostOS랑 빠이빠이
- 호스트OS형 가상화 :
- 컨테이너형 가상화 : - **리소스가 격리된 프로세스** - 응용 프로그램과/ 그 의존성을 패키지화 해서 하나의 격리된 환경에서 실행 - OS에서 파일 시스템을 나눠서 독립된 독방..? 을 컨테이너 마다 줘서 알아서 실행하게 돌림 - OS를 공유하기때문에 빠른 시작과 종료가 가능 - 호스트OS형 가상화 vs 하이퍼 바이저 가상화

CH01_01: 가상화 기술 비교 정리
| 구분 | 호스트 OS형 가상화 | 하이퍼바이저형 가상화 | 컨테이너형 가상화 |
|---|---|---|---|
| 아키텍처 | H/W → 호스트 OS → 가상화 S/W → 게스트 OS | H/W → 하이퍼바이저 → 게스트 OS | H/W → 호스트 OS → 컨테이너 엔진 → 애플리케이션 |
| 개념 | 호스트 OS 위에 가상화 소프트웨어를 설치하여 게스트 OS를 실행하는 방식 | 하드웨어에 직접 하이퍼바이저(가상화 S/W)를 설치하여 그 위에 가상 머신(게스트 OS)을 실행하는 방식 | 호스트 OS의 커널을 공유하며, 프로세스를 격리하여 애플리케이션을 실행하는 방식 |
| 성능 및 효율성 | 소프트웨어 에뮬레이션 구조로 인해 성능 저하 발생 가능 | 호스트 OS를 거치지 않아 상대적으로 성능 우수 | OS를 공유하므로 매우 가볍고, 시작과 종료가 빠름. 리소스 사용량이 적음. |
| OS | 가상 머신마다 별도의 게스트 OS 설치 필요 | 가상 머신마다 별도의 게스트 OS 설치 필요 | 호스트 OS 커널을 공유하므로 별도의 게스트 OS 불필요 |
| 격리 수준 | 완전한 하드웨어 가상화를 통해 높은 격리 수준 제공 | 완전한 하드웨어 가상화를 통해 높은 격리 수준 제공 | 프로세스 수준의 격리. 다른 컨테이너와 호스트에 영향을 주지 않음. |
| 주요 특징 | - 구현이 비교적 간단함. - 기존 OS 환경 위에 쉽게 구축 가능. | - 전가상화와 반가상화로 나뉨. - 하드웨어를 직접 제어하여 효율적. | - 리소스가 격리된 프로세스 - 애플리케이션과 의존성을 함께 패키징하여 이식성이 높음. |
| 대표 예시 | VMware Server, Microsoft Virtual Server | VMware vSphere, Hyper-V, KVM, Xen | Docker, containerd, CRI-O |
요약
- 호스트 OS형과 하이퍼바이저형은 가상 머신(VM)을 생성하여 그 안에 OS를 포함한 완전한 컴퓨팅 환경을 구축한다. 따라서 무겁고 시작 시간이 오래 걸리지만, 높은 수준의 격리를 제공한다.
- 컨테이너형은 호스트의 OS를 공유하며 애플리케이션 실행에 필요한 라이브러리와 바이너리만 패키징한다. 따라서 매우 가볍고 빠르며 높은 이식성을 가지는 장점이 있다.
- 컨테이너 형의 단점 :
- 완전이 OS와 동일한 동작을 하는건 아니다 , trade-off의 일종 -> Linux계열의 OS 와 완전히 동작을 바하면, 위에 가상머신을 사용해야함,
- Linux , FreeBSD 가 아닌 환견을 컨테이너로 사용할 수 없다. <- 흔히 도커 설치할때 WSL로 하이퍼 바이저형으로 리눅스를 까는 이유
- 컨테이너 형의 단점 :
- 컨테이너형은 호스트의 OS를 공유하며 애플리케이션 실행에 필요한 라이브러리와 바이너리만 패키징한다. 따라서 매우 가볍고 빠르며 높은 이식성을 가지는 장점이 있다.
728x90