💡 컨테이너 기술
- 컨테이너 기술은 다양한 구현체가 존재하며, 그 중 가장 대표적인 플랫폼이 바로 ‘도커’ 이다
- 도커는 도커 플랫폼 자체를 의미하기도 하지만, 컨테이너 기술을 부르는 대명사로도 자주 쓰인다
💡 컨테이너
- 어떤 프로그램을 실행하기 위해 환경과 실행파일을 통째로 하나로 묶어서 실행할 수 있도록 하는 기술이다
- 컨테이너 기술로 실행되는 앱을 의미한다

💡 컨테이너 기술과 쿠버네티스
- 쿠버네티스는 컨테이너 기술을 바탕으로 복잡한 운영환경을 잘 운영할 수 있도록 도와준다
- 최신 버전의 쿠버네티스는 컨테이너 기술 중 conatainerd, CRI-O와 같은 플랫폼을 사용한다
- 컨테이너 플랫폼은 OCI 라는 표준 인터페이스를 따르고 있기 때문에 거의 호환되어 도커로 실습이 가능하다
- 도커를 기준으로 만들어진 앱도 다른 컨테이너 플랫폼에서 똑같이 실행할 수 있다
💡VM과 컨테이너 비교

- 컨테이너 기술은 호스트 OS와 완전히 격리된 것처럼 느껴지지만, 실제로는 호스트 OS와 자원을 공유한다
- 컨테이너가 통째로 일종의 프로세스처럼 동작하는 것
- VM 기술은 하드웨어의 자원을 나눠서 직접 게스트 OS에 설치하는 방법이다
- 보안적인 측면에서는 더 좋지만, 아무래도 가상으로 직접 OS를 설치하다 보니 성능이 좋지 못하다
| VM (Virtual Machine) | 컨테이너 (Container) | |
| 가상화 대상 | 하드웨어 전체 | 운영체제(OS) 수준 |
| 운영체제 포함 여부 | 각 VM마다 개별 OS 포함 | 호스트 OS 공유 |
| 무게(용량) | 수 GB 이상 (무거움) | 수 MB ~ 수백 MB (가벼움) |
| 리소스 사용량 | 상대적으로 높음 | 상대적으로 적음 |
| 격리 수준 | 강력한 하드웨어 수준 격리 | 가벼운 프로세스 수준 격리 |
| 실행 단위 | 전체 OS + 앱 | 애플리케이션과 그 의존성만 |
| 호환성 | 이기종 OS 가능 (ex. 리눅스+윈도우) | 동일 커널 기반 OS만 가능 (ex. 리눅스) |
| 사용 예시 | 운영 환경 격리, 무거운 시스템 운영 | 마이크로서비스, 빠른 배포/롤백 |
| 대표 기술 | VMware, VirtualBox, Hyper-V | Docker, containerd, Podman |
💡 쿠버네티스는 왜 컨테이너 기술을 바탕으로 하나
- 컨테이너 기술을 이용해서 만들어진 앱을 실행시키면, 어떤 환경에서 개발된 앱이라도 항상 동일한 조건으로 실행할 수 있다
- 실제 운영 환경에서 보다 개발자의 의도대로 앱이 동작할 수 있다
- VM기술보다 컨테이너 기술이 훨씬 가볍기 때문에 성능이 좋다
refer to
https://velog.io/@taelee/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88VM%EA%B3%BC%EC%9D%98-%EC%B0%A8%EC%9D%B4
'IT > Cloud & DevOps' 카테고리의 다른 글
| 클라우드 환경에서 쿠버네티스 클러스터 만들기 (0) | 2025.04.19 |
|---|---|
| 도커 이미지 만들어 보기 (0) | 2025.04.19 |
| 도커 사용해보기 (0) | 2025.04.17 |
| Kubernetes 쿠버네티스 (0) | 2025.04.15 |
| Windows 11 Home 에서 Docker 설치 (0) | 2025.04.12 |