개발자

Docker Desktop 디스크 이미지가 너무 큽니다: Mac에서 Docker.raw 줄이는 방법

Docker.raw가 거대해 보이는 이유, 실제 크기 확인법, 볼륨을 지키며 공간을 확보하는 prune 명령어, 용량 제한과 위치 변경까지 정리합니다.

7분 분량MoreRoom 팀, Yando Pte. Ltd.이 페이지를 Markdown으로 보기

요약

  • Docker Desktop은 모든 이미지, 컨테이너, 볼륨, 빌드 캐시를 ~/Library/Containers/com.docker.docker 안의 디스크 이미지 하나, Docker.raw에 보관합니다.
  • Docker.raw는 스파스 파일입니다. Finder와 ls -l은 최대 크기를 보여 주고, du는 실제로 사용하는 공간을 보여 줍니다.
  • 파일을 지우지 말고 Docker 안에서 docker system prune으로 줄이세요. 확보된 공간은 몇 분 안에 macOS로 돌아옵니다.
  • docker system prune은 --volumes를 붙이지 않는 한 볼륨을 남겨 두며, 붙이더라도 익명 볼륨만 제거합니다.
  • 디스크 사용량 제한을 낮추거나 Clean up data를 실행하면 디스크 이미지가 지워지므로, 둘 다 최후의 수단으로 생각하세요.

Mac에서 Docker Desktop 디스크 이미지를 줄이는 방법

  1. 실제 크기 확인하기. du -h ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw를 실행해 최대 크기가 아닌 실제 사용 공간을 확인합니다.
  2. 무엇이 공간을 차지하는지 보기. Docker Desktop이 실행 중인 상태에서 docker system df를 실행하면 이미지, 컨테이너, 로컬 볼륨, 빌드 캐시와 회수 가능한 용량이 표시됩니다.
  3. 빌드 캐시 비우기. docker builder prune을 실행합니다. 캐시는 빌드할 때 필요에 따라 다시 쌓이며, 다음 빌드는 조금 느려집니다.
  4. 사용하지 않는 컨테이너, 네트워크, 이미지 정리하기. docker system prune -a를 실행합니다. 중지된 컨테이너, 사용하지 않는 네트워크, 컨테이너가 쓰지 않는 모든 이미지, 사용하지 않는 빌드 캐시가 제거됩니다. 볼륨은 남습니다.
  5. 볼륨은 따로 검토하기. docker volume ls를 실행하고, 필요한 데이터는 백업한 다음 더 이상 쓰지 않는 볼륨을 docker volume rm으로 제거합니다.
  6. 잠시 기다렸다가 다시 확인하기. Docker Desktop이 확보된 블록을 macOS에 돌려줄 때까지 몇 분 기다린 뒤 Docker.raw에 du -h를 다시 실행합니다.

Mac용 Docker Desktop은 작은 가상 머신 안에서 Linux 컨테이너를 실행하며, 이 가상 머신은 이미지, 컨테이너, 볼륨, 빌드 캐시까지 모든 것을 Docker.raw라는 디스크 이미지 파일 하나에 저장합니다. 이 파일은 수십 GB까지 커질 수 있습니다. 해결책은 파일을 지우는 것이 아니라 Docker 안에서 정리(prune)하는 것입니다. 그러면 Docker Desktop이 확보된 공간을 macOS에 돌려줍니다.

2026년 10월 기준으로 이 내용은 macOS 27 Golden Gate, 26 Tahoe, 15 Sequoia, 14 Sonoma에서 실행되는 현재 Docker Desktop 릴리스에 적용됩니다.

Docker.raw의 위치와 실제 크기

디스크 이미지의 기본 위치는 다음과 같습니다.

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

위치를 옮겼다면 Docker Desktop › Settings › Resources › Advanced에서 현재 위치를 확인할 수 있습니다.

Docker.raw는 스파스 파일입니다. 논리적 크기는 디스크 이미지가 커질 수 있는 최댓값이지만, Mac에서 실제로 공간을 차지하는 것은 Docker가 기록한 블록뿐입니다. Finder와 ls -l은 최댓값을 보여 주기 때문에 파일이 놀랄 만큼 커 보일 수 있습니다. 실제 수치는 다음과 같이 확인합니다.

cd ~/Library/Containers/com.docker.docker/Data/vms/0/data
ls -klsh Docker.raw
du -h Docker.raw

ls -s 출력에서 첫 번째 숫자가 실제로 할당된 공간이고, 크기 열은 최댓값입니다. du는 할당된 공간만 보고합니다. Docker의 Mac FAQ도 같은 ls -klsh 방법을 안내합니다.

스파스 파일인 Docker.raw: 디스크 사용량 제한으로 정해진 논리적 크기와 Mac에 실제로 할당된 블록 비교

무엇이 공간을 차지하는지 확인하기

Docker Desktop이 실행 중인 상태에서 Docker에 사용 내역을 물어보세요.

docker system df
docker system df -v

첫 번째 명령어는 Images, Containers, Local Volumes, Build Cache를 전체 크기와 함께 나열하고, 사용 중이지 않은 용량을 RECLAIMABLE 열에 보여 줍니다. -v를 붙이면 이미지, 컨테이너, 볼륨을 하나하나 나열하므로, 잊고 있던 10GB짜리 이미지나 오래된 프로젝트의 큰 볼륨을 찾기 쉽습니다.

가벼운 정리부터 철저한 정리까지

아래 명령어는 모두 영구적으로 삭제합니다. Docker 객체에는 휴지통이 없습니다. 이미지는 다시 받거나 빌드할 수 있지만, 볼륨은 그럴 수 없습니다.

빌드 캐시

이미지를 로컬에서 빌드한다면 빌드 캐시가 가장 큰 항목인 경우가 많습니다.

docker builder prune

확인을 요청한 뒤 사용하지 않는 빌드 캐시를 제거합니다. 더 철저하게 정리하려면 --all을 붙이세요. 캐시가 다시 채워지는 동안 다음 빌드는 더 오래 걸립니다.

중지된 컨테이너, 사용하지 않는 네트워크와 이미지

docker system prune
docker system prune -a

docker system prune만 실행하면 중지된 컨테이너, 어떤 컨테이너도 사용하지 않는 네트워크, 댕글링(태그 없는) 이미지, 사용하지 않는 빌드 캐시가 제거됩니다. -a를 붙이면 컨테이너가 하나도 사용하지 않는 모든 이미지까지 제거되므로 보통 가장 많은 공간이 확보됩니다. 나중에 필요한 것은 다시 받거나 빌드하면 됩니다. Docker의 정리 가이드와 docker system prune 레퍼런스를 참고하세요.

볼륨: 제거하기 전에 검토하세요

볼륨에는 로컬 데이터베이스처럼 다시 만들 수 없는 데이터가 들어 있습니다. 그래서 Docker는 기본적으로 볼륨을 절대 제거하지 않습니다.

docker volume ls
docker volume rm <name>

docker system prune --volumes는 어떤 컨테이너도 사용하지 않는 익명 볼륨만 추가로 제거합니다. docker volume prune도 같은 방식으로 동작하며, docker volume prune --all은 어떤 컨테이너도 사용하지 않는 이름 있는 볼륨까지 제거합니다. 중요한 데이터는 먼저 백업하세요.

명령어 컨테이너 이미지 빌드 캐시 볼륨
docker system prune 중지된 것 댕글링만 미사용 유지
docker system prune -a 중지된 것 미사용 전부 미사용 유지
docker system prune -a --volumes 중지된 것 미사용 전부 미사용 미사용 익명 볼륨
docker volume prune --all — — — 미사용 전부

공간이 돌아오지 않을 때

정리하면 가상 머신 안의 블록이 확보되고, Docker Desktop이 이를 백그라운드에서 macOS에 돌려줍니다. Docker에 따르면 이 과정은 몇 분 걸릴 수 있습니다. du -h Docker.raw로 다시 확인하세요. 한참 지나도 숫자가 그대로라면 Docker Desktop을 종료했다가 다시 여세요.

Finder는 파일 안에서 무슨 일이 일어나든 최대 크기를 계속 표시하므로, 진행 상황은 Finder가 아니라 du로 판단하세요.

디스크 이미지 크기 제한하기 또는 옮기기

Settings › Resources › Advanced에서 최근 버전은 이 설정을 Disk usage limit(이전 버전은 Disk image size)라고 부릅니다. 디스크 이미지가 커질 수 있는 최댓값을 정하는 설정입니다. Docker의 Mac FAQ는 최댓값을 줄이면 현재 디스크 이미지가 삭제된다고 경고합니다. 그 안의 모든 이미지, 컨테이너, 볼륨도 함께 사라집니다. 먼저 정리하고, 필요한 것을 내보낸 다음에만 값을 낮추세요.

같은 패널에 Disk image location도 있습니다. Browse 버튼으로 Docker.raw를 더 큰 내장 볼륨이나 외장 SSD로 옮길 수 있습니다. Finder에서 파일을 직접 옮기지 마세요. Docker Desktop이 파일 위치를 놓칠 수 있습니다.

초기화라는 선택지

Docker Desktop의 Troubleshoot 화면(메뉴 막대의 고래 메뉴나 Dashboard 오른쪽 위의 물음표 아이콘에서 열 수 있음)에는 Clean up data가 있습니다. 이전 버전에서는 Clean / Purge data라고 불렀습니다. Docker의 문제 해결 페이지에 따르면 이 기능은 설정은 유지한 채 모든 로컬 컨테이너와 이미지를 삭제합니다. 볼륨도 같은 디스크 이미지에 있으므로 함께 사라진다고 보는 것이 맞습니다. 처음부터 다시 시작해도 괜찮을 때만 사용하세요.

같은 메뉴의 Reset to factory defaults는 모든 설정까지 초기화합니다.

디스크 공간을 다르게 관리하는 대안

  • OrbStack은 컨테이너, 이미지, Linux 머신을 ~/Library/Group Containers/HUAQ24HBR6.dev.orbstack/data에 저장합니다. 문서에 따르면 동적 디스크 관리를 사용하므로 사용량이 필요에 따라 늘고 줄어듭니다. OrbStack 안에서 또는 같은 docker 명령어로 정리하세요. 데이터 파일을 지우면 안의 모든 것을 잃습니다.
  • Colima는 무료 명령줄 런타임으로, 가상 머신을 ~/.colima에 보관합니다. docker prune 명령어는 똑같이 동작하고, colima prune은 Colima가 캐시한 다운로드를 비우며, colima delete는 프로필을 모든 데이터와 함께 제거합니다.

둘 다 표준 docker CLI를 사용하므로 위에서 설명한 정리, 볼륨, 빌드 캐시 관련 내용이 그대로 적용됩니다.

MoreRoom이 도와드리는 방법

MoreRoom 무료 버전은 Docker Desktop의 디스크 이미지를 찾아 ‘먼저 검토’ 라벨을 붙이고, 파일을 지우지 말고 정리하라는 안내를 함께 보여 줍니다. 정리를 선택하면 MoreRoom은 Docker의 공식 명령어인 docker system prune --all --force를 실행합니다. 중지된 컨테이너, 사용하지 않는 네트워크, 사용하지 않는 이미지, 빌드 캐시가 제거되고 볼륨은 유지됩니다. 이 명령어는 되돌릴 수 없으며, 앱에도 그렇게 표시됩니다. MoreRoom은 OrbStack과 Colima의 데이터도 인식해 ‘먼저 검토’ 라벨을 붙입니다.

MoreRoom은 Docker.raw를 삭제하거나 볼륨을 제거하거나 Docker의 디스크 사용량 제한을 바꾸지 않습니다. Pro에는 여러 항목을 한 번에 정리하는 컬렉터와 목표 모드가 더해집니다.

자주 묻는 질문

Docker.raw를 삭제해도 되나요?

삭제할 수는 있지만 그 안의 모든 이미지, 컨테이너, 볼륨을 잃게 되고 Docker Desktop은 비어 있는 새 파일을 만듭니다. 대신 Docker 안에서 정리하세요. 정말 처음부터 시작하고 싶다면 Docker Desktop의 Troubleshoot 메뉴에 있는 Clean up data를 사용하세요. 설정은 유지됩니다.

Finder에 표시되는 Docker.raw 크기가 Docker가 보고하는 크기보다 훨씬 큰 이유는 무엇인가요?

Docker.raw는 스파스 파일이기 때문입니다. Finder와 ls -l은 디스크 사용량 제한으로 정해진 최대 크기를 보여 주고, du와 ls -s는 디스크에 실제로 기록된 블록을 보여 줍니다.

docker system prune이 볼륨까지 지우나요?

기본적으로는 지우지 않습니다. --volumes를 붙이면 어떤 컨테이너도 사용하지 않는 익명 볼륨도 제거합니다. 직접 만든 데이터베이스 볼륨 같은 이름 있는 볼륨은 docker volume prune --all이나 docker volume rm으로만 제거됩니다.

정리했는데 여유 공간이 늘지 않는 이유는 무엇인가요?

Docker Desktop은 확보된 공간을 백그라운드에서 macOS에 돌려주며, 몇 분 걸릴 수 있습니다. Docker.raw에 du -h를 다시 실행해 확인하세요. 그래도 변화가 없으면 Docker Desktop을 재시작하세요. 또한 태그만 해제된 것이 아니라 이미지가 실제로 삭제되어야 공간이 확보됩니다.

디스크 사용량 제한을 낮춰도 안전한가요?

안의 내용을 잃어도 괜찮을 때만 그렇습니다. Docker의 Mac 문서는 최대 크기를 줄이면 현재 디스크 이미지가 모든 이미지, 컨테이너, 볼륨과 함께 삭제된다고 경고합니다.

이 가이드에 나오는 폴더