Spring & Spring Boot/Docker

[6] Docker - 윈도우(WSL) 가상 디스크 파일 용량 실제 줄이기

carrotweb 2026. 10. 13. 16:48
728x90
반응형

VHDX 파일 압축

도커 이미지(docker image)를 삭제해도 윈도우의 가상 디스크 파일(.vhdx) 크기는 자동으로 줄어들지 않습니다.

그래서 윈도우 내장 디스크 관리 도구인 diskpart를 사용하여 디스크 용량을 줄어보겠습니다.

 

도커에는 2개의 가상 디스크 파일(VHDX)이 있습니다.

  • %LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx ← 도커 이미지, 도커 컨테이너, 볼륨 등이 저장
  • %LOCALAPPDATA%\Docker\wsl\main\ext4.vhdx ← 도커 시스템 관련 데이터 저장

실제로  도커 이미지, 도커 컨테이너, 볼륨 등이 저장되는 docker_data.vhdx 파일을 압축해서 파일 용량 크기를 줄여보겠습니다.

 

Docker Desktop가 실행 중이라면 종료를 반드시 해야합니다.

 

1. Terminal에서 diskpart을 입력합니다.

diskpart

 

사용자 계정 컨트롤 확인창(이 앱이 디바이스를 변경할 수 있도록 허용하시겠어요?)이 나타나면 [예]를 누르시면 됩니다.

diskpart가 실행됩니다.

 

2. Docker 가상 디스크 파일을 선택합니다. (실제 이미지가 저장되는 가상 디스크 파일입니다.)

select vdisk file="C:\Users\carro\AppData\Local\Docker\wsl\disk\docker_data.vhdx"

 

로컬 애플리케이션 데이터 폴더(C:\Users\<사용자계정>\AppData\Local)를 가리키는 환경 변수(%LOCALAPPDATA%)를 사용해도 됩니다.

select vdisk file="%LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx"

 

3. 가상 디스크 파일을 읽기 전용으로 연결합니다.

attach vdisk readonly

 

4. 가상 디스크 파일 용량을 압축합니다.

compact vdisk

 

5. 가상 디스크 파일을 연결 해제(분리)합니다.

detach vdisk

 

6. diskpart를 종료합니다.

exit

// Docker 가상 디스크 파일 선택
select vdisk file="%LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx"
// 가상 디스크 파일을 읽기 전용으로 연결
attach vdisk readonly
// 가상 디스크 파일 용량 압축
compact vdisk
// 가상 디스크 파일 연결 해제
detach vdisk
// 종료
exit

 

ext4.vhdx는 압축해도 용량이 크게 차이가 나지 않습니다.

그래도 압축을 한다면 가상 디스크 파일만 변경하시면 됩니다.

// Docker 가상 디스크 파일 선택
select vdisk file="%LOCALAPPDATA%\Docker\wsl\main\ext4.vhdx"
// 가상 디스크 파일을 읽기 전용으로 연결
attach vdisk readonly
// 가상 디스크 파일 용량 압축
compact vdisk
// 가상 디스크 파일 연결 해제
detach vdisk
// 종료
exit
728x90
반응형