윈도우(Windows) 운영체제에서 컨테이너 가상화 도구인 도커(Docker)를 사용하려면 그동안 WSL2(Windows Subsystem for Linux 2) 기반의 도커 데스크톱(Docker Desktop)이 사실상 표준이었습니다. 하지만 WSL2를 사용하는 방식은 디스크 공간 비효율, 과도한 메모리 점유, 느린 파일 시스템 성능 등 여러 고질적인 문제점을 안고 있었는데요. 최근 '하이퍼버틀러(hyperbutler)'라는 새로운 경량 엔진이 등장하여, WSL2 없이도 윈도우 환경에서 도커를 훨씬 효율적으로 사용할 수 있는 대안을 제시했습니다.
하이퍼버틀러는 WSL2 대신 마이크로소프트의 가상화 기술인 하이퍼-V(Hyper-V) API를 직접 활용해 경량 리눅스(Linux) 가상 머신(VM)을 생성합니다. 이를 통해 기존 도커 데스크톱의 문제점들을 구조적으로 해결했는데요. 예를 들어, 디스크 이미지를 삭제해도 공간이 줄어들지 않던 문제를 스파스 VHDX(sparse VHDX)와 게스트 디스카드(guest discard) 기능을 통해 자동 반환하도록 개선했습니다. 또한, VM이 호스트 메모리의 절반을 점유하고 작업 후에도 메모리를 잘 반환하지 않던 문제를 최소한의 알피엠(Alpine) 리눅스 기반 VM과 작업 완료 시 캐시 반환 방식으로 해결하여, 대기 메모리 사용량을 1.7~2.7GB에서 322MB로 대폭 줄였습니다. 특히 C:\ 드라이브 바인드 마운트(bind mount) 시 파일이 많으면 느려지던 문제를 hvsock 기반 FUSE 파일 서버로 대체해, 파일 읽기/쓰기 성능을 최대 10배 이상 향상시켜 웹팩(webpack)이나 비트(Vite) 같은 개발 도구의 핫 리로드(hot reload)도 원활하게 동작하도록 했습니다.
이러한 하이퍼버틀러의 등장은 윈도우 개발 환경에 큰 변화를 가져올 잠재력이 있습니다. 특히 리소스가 제한적인 노트북이나 윈도우 홈(Windows Home) 에디션 사용자들에게는 도커를 더 빠르고 쾌적하게 사용할 수 있는 기회를 제공합니다. 개발자들은 더 이상 WSL2의 복잡한 설치 및 관리, 그리고 그로 인한 성능 저하에 시달리지 않고도 도커 컨테이너를 활용한 개발 워크플로우를 구축할 수 있게 됩니다. 물론 쿠버네티스(Kubernetes)나 윈도우 컨테이너(Windows Container) 등 일부 고급 기능은 아직 지원하지 않지만, 일반적인 도커 개발 환경에서는 충분히 매력적인 대안이 될 것으로 보입니다. 이는 개발 생산성 향상뿐만 아니라, 더 많은 윈도우 사용자가 컨테이너 기술에 쉽게 접근할 수 있도록 하는 중요한 발걸음이 될 것입니다.