스크랩

WSL 없이 Windows Home에서도 Docker를? 가벼운 Docker 엔진 'hyperbutler' 살펴보기

WSL 없이 Windows Home에서도 Docker를? 가벼운 Docker 엔진 'hyperbutler' 살펴보기

Windows에서 Docker를 쓰려면 보통 Docker Desktop + WSL2 조합을 씁니다. 오래 쓰다 보면 늘 비슷한 문제에 부딪히는데요, 이번에 GeekNews에 소개된 hyperbutler는 이 문제를 구조부터 다르게 풀어 보려고 만든 오픈소스 Docker 엔진입니다. WSL 없이 Windows Home에서도 동작한다는 점이 눈에 띕니다.

한눈에 보는 핵심 요약

  • WSL2 없이 Windows(Home 포함)에서 Docker를 실행하는 가벼운 엔진
  • 평소 쓰던 docker CLI와 Compose를 그대로 사용
  • Hyper-V의 HCS API로 VM을 직접 생성하고, 최소한의 Alpine Linux 위에서 Docker Engine(Moby)을 실행
  • Go로 작성, Apache-2.0 라이선스, 텔레메트리 없음
  • 아직 프리뷰 단계라 코드 서명 부재, 권한 설정 같은 한계가 있음

아키텍처: 어떻게 동작할까?

구조는 생각보다 단순합니다. 사용자는 평소처럼 docker 명령을 입력하고, 그 요청이 named pipe를 거쳐 hyperbutler 엔진으로 전달됩니다.

docker CLI / Compose (Windows, 기본 그대로)
│ named pipe: \\.\pipe\docker_engine_hyperbutler
▼
hyperbutler 엔진 (Go, 일반 사용자 권한)
│ HCS API로 VM 직접 생성 (WSL2가 내부적으로 쓰는 것과 같은 Hyper-V API)
│ hvsock 채널: Docker API 중계 / 사용자 공간 네트워크(gVisor) / FUSE 파일 공유
▼
Linux VM: 최소 Alpine + Docker Engine(Moby)
├─ 시스템 디스크: 읽기 전용 erofs (해시로 고정)
└─ 데이터 디스크: sparse VHDX (지운 블록은 호스트로 반환)

눈여겨볼 부분은 다음과 같습니다.

  • WSL2를 거치지 않는 VM 생성: WSL2가 내부적으로 쓰는 것과 같은 Hyper-V API(HCS)를 직접 호출합니다. 중간 계층이 하나 줄어드는 셈입니다.
  • hvsock 기반 통신: Docker API 중계, gVisor 기반 사용자 공간 네트워크, FUSE 파일 공유가 모두 hvsock 채널로 오갑니다.
  • 읽기 전용 시스템 디스크: erofs를 해시로 고정해 두어서 시스템 영역이 의도치 않게 바뀌지 않습니다.
  • 디스크 공간 반환: 데이터 디스크는 sparse VHDX라서 지운 블록을 호스트로 돌려줍니다. WSL2를 쓰면서 VHDX 파일이 계속 커지기만 해 고생했던 분들에게 반가운 부분입니다.

실측 비교는 어땠을까?

개발자는 같은 노트북(Windows 11 Home, Core Ultra 7 155H, 32GB)에서 Docker Desktop 4.97과 hyperbutler를 각자 기본 설정으로 두고 비교했습니다.

  • Docker Desktop은 컨테이너 없이 약 7분이 지나면 Resource Saver가 VM을 꺼서 메모리 사용량이 404 MiB로 줄어듭니다.
  • 측정 스크립트, 방법, 원본 CSV는 저장소의 docs/compare-docker-desktop.md에 공개되어 있어 직접 확인할 수 있습니다.
  • 개발자도 PC 한 대에서 잰 결과라 일반화하기 어렵다고 밝혔습니다. 또 Kubernetes, Windows 컨테이너, 확장 기능은 여전히 Docker Desktop이 앞선다고 인정하고 있습니다.

💡 성능 수치를 판단의 근거로 삼으려면, 공개된 측정 스크립트를 내 환경에서 직접 돌려 보는 걸 추천합니다.

그 밖의 편의 기능

  • MSI 설치: UAC 확인 한 번으로 PATH, VM 플랫폼, Hyper-V Administrators 그룹 등록(동의 체크박스)을 처리합니다.
  • 한국어/영어 GUI 지원
  • hyperbutler doctor: 필요 조건을 검사하고 해결 방법을 안내합니다.
  • Docker Desktop에서 이전: hyperbutler import --from-desktop 명령으로 기존 이미지와 볼륨을 가져올 수 있습니다.
  • AI 도구용 MCP 서버 내장
  • 텔레메트리 없음: 하루 한 번 업데이트 확인만 하며, 이것도 끌 수 있습니다.

도입 전에 알아둘 한계 (프리뷰)

아직 프리뷰 단계라 감안해야 할 부분이 있습니다.

  1. 코드 서명 없음: 설치할 때 SmartScreen 경고가 뜹니다. "추가 정보 → 실행"을 눌러 진행해야 합니다.
  2. 권한 설정 필요: 지금은 계정을 Hyper-V Administrators 그룹에 넣어야 합니다. 그룹 없이 쓸 수 있게 해 주는 권한 중개 서비스는 아직 설계 단계입니다.
  3. 작은 파일이 많은 작업은 느림: node_modules처럼 작은 파일을 대량으로 만드는 작업은 바인드 마운트에서 느립니다. 파일마다 Windows NTFS까지 왕복해야 해서 Windows에서 직접 작업할 때보다 약 1.5배 걸립니다. 그래도 Docker Desktop보다는 빠르다고 하네요. 이런 폴더는 named volume을 쓰는 게 좋습니다.
  4. 미지원 기능: Kubernetes와 Windows 컨테이너는 지원하지 않습니다.

이런 분께 추천합니다

  • Windows Home에서 Docker를 가볍게 쓰고 싶은 분
  • WSL2 디스크가 계속 커지거나 리소스를 많이 잡아먹어서 불편했던 분
  • Kubernetes 없이 docker CLI + Compose 위주로 개발하는 분
  • 텔레메트리 없는 오픈소스 도구를 선호하는 분

반대로 Kubernetes나 Windows 컨테이너가 꼭 필요하다면 당분간은 Docker Desktop이 더 맞습니다.

마무리: 피드백을 기다리고 있어요

개발자가 가장 궁금해하는 건 새 PC에 처음 설치할 때 막히는 부분입니다. 써 보다가 문제가 생기면 hyperbutler doctor 결과를 이슈로 남겨 달라고 합니다. 바로 확인하겠다고 하니, Windows에서 Docker 환경 때문에 고민해 왔다면 한번 시도해 보고 피드백을 남겨 보는 것도 좋겠습니다.


원문: https://news.hada.io/topic?id=36449&utm_source=geeknews&utm_medium=rss&utm_campaign=news