Show GN: hyperbutler - WSL 없이 Windows(Home 포함)에서 Docker를 돌리는 가벼운 엔진

14 hours ago 6

Windows에서 Docker를 쓰면 사실상 Docker Desktop + WSL2를 써야 하는데, 오래 쓰다 보면 늘 같은 문제에 부딪힙니다. 이 문제들을 구조부터 다르게 풀어 보려고 만들었습니다. 1. Docker Desktop(WSL2)의 문제와 해결 방식 문제 Docker Desktop (WSL2) hyperbutler 디스크 이미지를 지워도 docker_data.vhdx가 줄지 않음. 수동 압축 필요 sparse VHDX + 게스트 discard로 지운 공간을 자동 반환 (관리자 권한 불필요) 메모리 VM이 호스트 RAM 절반으로 잡히고, vmmem이 작업 후에도 GB 단위로 점유 작은 VM(읽기 전용 erofs 시스템 디스크 + 최소 Alpine), 작업이 끝나면 캐시 반환 C:\ 바인드 마운트 9P 연결이라 파일이 많을수록 느리고 inotify가 잘 안 옴 hvsock 위 FUSE 파일 서버, Windows 변경이 inotify로 전달 (p95 3.4ms) → Vite/webpack 핫 리로드 동작 의존성·무게 WSL 설치·업데이트에 묶이고, 여러 VM·프록시·GUI 프로세스 상주 WSL 미사용, 상주 프로세스 3개(엔진, vmwp, vmmem) 2. 아키텍처 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 (지운 블록은 호스트로 반환) 3. 실측 비교 같은 노트북(Windows 11 Home, Core Ultra 7 155H, 32GB)에서 Docker Desktop 4.97과 각자 기본 설정으로 측정했습니다. 항목 hyperbutler Docker Desktop 4.97 시작 → 첫 컨테이너 실행 2.5초 5.6초 대기 메모리 (VM 켜진 상태) 322 MiB 1.7~2.7 GB 이미지 ~5GB 삭제 5분 뒤 디스크 1.5 GiB (자동 반환) 6...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵