
가상화(virtualization)

- 일반적으로 서버 스토리지, 네트워크, 애플리케이션 등을 가상화 하여 하드웨어 리소스를 효율적으로 사용하는데 그 목적이 있고, 이를 통해 기업은 효율적인 자원 활용, 자동화된 IT 관리, 빠른 재해 복구 등의 장점을 갖을 수 있음.
- 물리적 하드웨어 유지 관리 대신 소프트웨어적으로 추상화된 가상화를 통해 제한된 부분을 쉽게 관리하고 유지할 수 있음.
- 하이퍼바이저 기반의 가상머신(VM, Virtual Machine)
컨테이너 가상화 vs VM 가상화
- 두가지 가상화 모두 실행하고자 하는 애플리케이션 프로세스 및 종속 요소와 소스 등을 패키지, 즉 이미지화 하여 HostOS와 격리된 환경을 제공.
- 다만, VM 가상화는 실제 호스트 운영체제와 같이 별도의 GuestOS를 두고 원하는 애플리케이션을 설치하는 **하드웨어 수준의 가상화 구현.**
- 컨테이너 가상화는 VM 가상화에 비해 경량이면서 호스트 운영체제의 커널을 공유하는 운영체제(OS)수준의 가상화 구현.
- 따라서, 컨테이너 가상화는 원하는 애플리케이션 환경을 빠르게 번들링하여 패키지함.
애플리케이션 배포 방식 비교

컨테이너화 기술
- 리눅스 컨테이너 기술은 LXC(Linux Container)를 이용한 시스템 컨테이너화로 시작
- OS 수준의 가상화 도구.
- cgroup, namespace 등의 커널 기술을 공유하여 컨테이너에 제공
- 이후 애플리케이션 컨테이너 기반의 Docker 출시가 되었고, 초기 Docker 버전은 LXC를 활용해 컨테이너를 생성.
- 지속된 컨테이너 엔진의 발전으로 Docker는 containerd, runC 를 이용하는 방식으로 변경.
- 커널 기술의 공유를 통해 컨테이너 생성을 지원하는 runC
- 생성된 컨테이너의 라이프사이클 관리를 지원하는 containerd
- 사용자 환경에서의 명령을 전달하는 dockerd
Dockerd 기능

'🐳Docker' 카테고리의 다른 글
| Docker: NVIDIA GPU로 Docker 컨테이너 실행하기 (0) | 2026.03.18 |
|---|---|
| Docker: Docker 명령어 자동완성 설정하기 (0) | 2026.03.18 |
| Docker: Docker 자동 설치를 위한 Shell Script 사용법 (0) | 2026.03.18 |
| Docker: Docker와 컨테이너의 중요성 (0) | 2026.03.17 |
| Docker: CentOS7 환경 구축하기 (0) | 2026.03.17 |