Windows 컨테이너
Windows 컨테이너(Windows Containers)는 Windows 응용 프로그램과 종속성을 이미지로 묶어 격리된 실행 환경에서 시작하는 운영체제 수준 가상화 기술이다. Windows Server 2016 시대부터 본격적으로 제공됐으며 Windows Server의 서비스 및 .N...
| 영어 명칭 | Windows Containers |
|---|---|
| 분류 | Windows 운영체제 수준 응용 프로그램 격리·패키징 |
| 개발사 | Microsoft |
| 도입 | Windows Server 2016 시대 |
| 격리 방식 | Process isolation·Hyper-V isolation |
| 이미지 | Nano Server·Server Core·Windows 등 베이스 이미지 |
| 실행 | 컨테이너 런타임·호스트 컴퓨트 서비스 |
| API | Host Compute Service, hcsshim |
| 주요 응용 | Windows Server·.NET 서비스·자동 배포 |
| 오케스트레이션 | Kubernetes·containerd 등 |
| 기술 차이 | Hyper-V 전체 가상 머신과 구분 |
| 공식 문서 | Microsoft Learn: Windows containers |
Windows 컨테이너(Windows Containers)는 Windows 응용 프로그램과 종속성을 이미지로 묶어 격리된 실행 환경에서 시작하는 운영체제 수준 가상화 기술이다. Windows Server 2016 시대부터 본격적으로 제공됐으며 Windows Server의 서비스 및 .NET 앱을 서버·클라우드 환경에서 반복해 배포하는 데 이용된다. 일반적인 가상 머신처럼 컨테이너마다 전체 게스트 커널을 반드시 부팅하는 방식은 아니고 호스트 커널을 공유하는 프로세스 격리와 별도 Hyper-V 격리를 선택할 수 있다.[1]
Windows 컨테이너 이미지에는 운영체제 사용자 공간의 필요한 파일과 응용 프로그램·라이브러리 계층이 포함된다. Nano Server와 Server Core 등의 베이스 이미지는 지원하는 API와 기본 구성에 차이가 있어 전통적인 GUI 애플리케이션 또는 특정 서버 서비스를 그대로 실행하지 못할 수 있다. 컨테이너의 프로세스는 네임스페이스·자원 및 파일 시스템 보기의 격리 정책에 따라 실행된다.
프로세스 격리(Process Isolation)는 호스트 Windows 커널을 공유하는 방식이고 Hyper-V 격리는 경량 VM에서 커널·실행 상태를 분리한다. 두 모드는 보안과 호환성·자원 사용의 절충이 달라 운영체제 이미지 버전과 호스트 빌드의 관계가 중요하다. 네트워크와 스토리지·컨테이너 런타임 및 관리 API는 별도로 구성하며 Kubernetes·containerd 등과 연동할 수 있다.[2]
Windows 컨테이너는 Windows Sandbox와 모두 격리 기술이지만 목적이 다르다. Sandbox는 데스크톱 사용자가 임시 전체 Windows 환경을 실행하고 종료 시 데이터를 폐기하는 기능이고, Windows 컨테이너는 응용 프로그램 이미지와 배포·오케스트레이션을 중심으로 한다. Linux 컨테이너와도 커널 API가 다르므로 Windows 앱용 이미지를 Linux 커널에서 그대로 실행할 수 있는 것은 아니다.