기술 · 실용 가이드
Docker Desktop prune 후 디스크가 줄지 않나요? 회수와 VHDX 압축을 분리하세요
데이터 삭제나 압축 전에 Docker 객체, WSL 파일시스템 블록, 정확한 호스트 VHDX를 각각 측정합니다.

`docker system prune`은 Docker 객체를 비워도 Docker Desktop을 담는 Windows 파일을 즉시 줄인다고 보장하지 않습니다. Docker 소유량, Linux 내부 빈 블록, 호스트 VHDX 할당 바이트를 따로 보세요.
보존할 데이터를 고정한다
실행·중지 컨테이너, 이미지, builder, named·anonymous volume, Compose 프로젝트와 복구용 백업을 나열합니다. Docker Desktop/WSL 버전, backend, disk 위치, host 여유 공간을 기록하고 `--volumes`나 VHD 삭제로 시작하지 마세요.
세 계층을 따로 측정한다
`docker system df -v`, builder 사용량, Docker/WSL 내부 Linux filesystem 사용량, Windows의 정확한 `.vhdx` 물리 바이트를 저장합니다. 각각 객체 소유량, guest 할당, host 할당을 답합니다.
확인된 미사용 객체만 정리한다
목록에 맞는 가장 좁은 prune을 선택합니다. system prune은 중지 컨테이너, 미사용 네트워크, dangling 이미지와 미사용 build cache를 다룹니다. tagged 이미지와 volume은 추가 옵션이나 별도 명령이 필요합니다.
디스크와 버전 경계를 확인한다
이전·업그레이드 후 Docker Desktop이 실제 관리하는 VHDX를 확인합니다. 4.34.0은 관리형 WSL2 VHD 자동 회수를 도입했으므로 수동 압축 전에 재시작해 다시 측정하고 예전 경로를 복사하지 마세요.
호스트 압축 전에 분리한다
guest 블록이 비어도 host VHDX가 크고 관리 경로가 자동 회수되지 않으면 Docker Desktop을 종료하고 `wsl --shutdown`을 실행합니다. 정확한 dynamic VHD가 사용 중이 아닌지 확인하세요.
전후 증거로 종료한다
Docker 사용량, guest filesystem, VHDX 바이트와 Windows 여유 공간을 다시 측정합니다. Docker Desktop을 시작하고 보존 컨테이너·volume·앱 상태를 검증합니다. 잘못된 디스크, 데이터 손실, 연결된 VHD, 바이트 불변이면 중단하세요.
