맥에서 Docker가 용량을 너무 차지할 때
2026년 10월 13일 업데이트
Docker Desktop은 모든 Linux 이미지, 컨테이너, 볼륨, 빌드 캐시를 Docker.raw라는 디스크 이미지 파일 하나에 저장해요. 그래서 pull하고 빌드할수록 이 파일이 커져요. docker system df로 무엇이 공간을 쓰는지 확인한 다음, 아래 prune 명령으로 안 쓰는 컨테이너, 이미지, 빌드 캐시를 지우세요. 볼륨은 데이터가 들어 있으니 맨 마지막까지 남겨 두세요.
미리 말씀드릴 게 있어요. 이 사이트의 맥 앱인 WTMemory는 의도적으로 Docker 데이터를 정리하지 않아요. 올바른 도구는 Docker 자체 명령이고, 이 가이드에서 그걸 다뤄요. WTMemory는 Docker의 메모리와 CPU, 디스크의 폴더 크기를 보여 주는 것만 할 수 있어요.
맥에서 Docker는 데이터를 어디에 저장하나요?
기본적으로 디스크 이미지는 여기에 있어요.
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
위치를 옮겼다면 Docker Desktop의 Settings > Resources > Advanced > Disk image location에 현재 위치가 표시돼요. 이미지, 컨테이너, 이름 있는 볼륨, 빌드 캐시 등 Linux VM 안의 모든 게 이 파일 하나에 저장돼요. 일반 폴더처럼 Finder에서 열어 볼 수는 없어요.
Docker.raw의 실제 크기는 얼마일까요?
Docker.raw는 sparse 파일이에요. Finder와 일부 도구는 디스크에서 실제로 차지하는 공간이 아니라 최대 크기를 보여 줘요. Docker의 맥 FAQ에서는 이렇게 확인하라고 안내해요.
cd ~/Library/Containers/com.docker.docker/Data/vms/0/data
ls -klsh Docker.raw
첫 번째 숫자가 실제 디스크 사용량이고, 줄 뒤쪽의 크기 열은 파일이 커질 수 있는 최대치예요. Finder에서는 64GB인데 ls -klsh가 몇 GB라고 한다면, 그만큼 공간이 부족한 건 아니에요.
Docker가 어디에 공간을 쓰는지 어떻게 보나요?
Docker가 실행 중인 상태에서 다음을 실행하세요.
docker system df
docker system df -v
첫 번째 명령은 Images, Containers, Local Volumes, Build Cache의 합계를 RECLAIMABLE 열과 함께 보여 줘요. -v 버전은 모든 이미지, 컨테이너, 볼륨을 크기와 함께 나열해서, 어떤 볼륨이 20GB짜리 데이터베이스인지, 어떤 이미지를 한 번 pull하고 잊어버렸는지 알 수 있어요.
prune 명령은 각각 무엇을 지우나요?
아래 설명은 2026년 10월 13일에 확인한 Docker의 pruning 문서를 따랐어요. -f를 붙이지 않으면 각 명령은 확인을 요청해요.
| 명령 | 지우는 것 | 위험도 |
|---|---|---|
docker container prune | 중지된 모든 컨테이너. | 낮음. 볼륨이 아니라 중지된 컨테이너의 파일 시스템 안에 쓴 내용은 사라져요. |
docker image prune | dangling 이미지만(태그 없고 사용되지 않는 것). | 낮음. |
docker image prune -a | 기존 컨테이너가 쓰지 않는 모든 이미지. | 중간. 다음에 다시 내려받거나 빌드해야 해요. |
docker buildx prune 또는 docker builder prune | dangling 빌드 캐시. --all을 붙이면 모든 빌드 캐시. | 낮음. 다음 빌드가 느려져요. |
docker system prune | 중지된 컨테이너, 안 쓰는 네트워크, dangling 이미지, 안 쓰는 빌드 캐시. 볼륨은 건드리지 않아요. | 낮음~중간. |
docker system prune -a | 위 항목에 더해 dangling뿐 아니라 안 쓰는 모든 이미지. | 중간. |
docker system prune --volumes | 안 쓰는 익명 볼륨까지 추가. | 필요한 데이터가 든 익명 볼륨이 있다면 높음. |
docker volume prune | 안 쓰는 익명 볼륨. 이름 있는 볼륨은 남겨 둬요. | 데이터가 든 익명 볼륨이라면 높음. |
docker volume prune -a | 이름 있는 볼륨을 포함한 안 쓰는 모든 볼륨. | 가장 높음. 로컬 데이터베이스가 사라지는 경로가 바로 이거예요. |
볼륨 주의: 볼륨이 "안 쓰인다"는 건 지금 연결된 컨테이너가 없다는 뜻일 뿐이에요. Postgres, MySQL, MongoDB 서비스가 있는 프로젝트에서 docker compose down을 실행했다면, 그 볼륨은 안 쓰이는 상태지만 여전히 데이터베이스를 담고 있어요. 볼륨을 prune하기 전에 docker volume ls를 실행하고 중요한 건 백업하세요.
Docker 디스크 공간을 안전하게 확보하는 순서는?
docker system df -v를 실행하고 큰 항목을 메모하세요.docker container prune으로 중지된 컨테이너를 지우세요.docker buildx prune으로 dangling 빌드 캐시를 비우세요. 빌드를 많이 하는 맥에서는 이게 가장 빠르고 큰 효과를 내는 경우가 많아요.- 이미지를 다시 pull해도 괜찮다면
docker image prune -a를 실행하세요. - 무작정 prune하지 말고 볼륨을 하나씩 검토해서
docker volume rm <name>으로 특정 볼륨만 지우세요. ls -klsh로 Docker.raw의 실제 크기를 다시 확인하세요.
Docker의 맥 FAQ에 따르면 실행 중인 컨테이너 안에서 파일을 지울 때 공간이 항상 자동으로 해제되지는 않아서, 파일이 바로 줄어들지 않을 수도 있어요.
Docker.raw가 커질 수 있는 최대 크기를 제한하려면?
Docker Desktop을 열고 Settings > Resources > Advanced에서 Disk usage limit를 조정한 다음 Apply를 선택하세요. Docker FAQ에서는 최대 크기를 줄이면 현재 디스크 이미지가 삭제되어 모든 컨테이너와 이미지가 사라진다고 경고해요. 먼저 볼륨을 백업하세요. 같은 섹션에서 Docker Desktop 안의 Browse 옵션으로 디스크 이미지를 더 큰 드라이브로 옮길 수도 있어요. Finder에서 옮기지는 마세요.
같은 Resources 섹션에서 VM의 메모리 한도도 설정해요. Docker가 디스크보다 RAM을 많이 쓴다면 그 한도를 낮추세요. 맥 메모리 사용량 확인 방법을 참고하세요.
OrbStack과 Colima는요?
OrbStack과 Colima는 맥에서 Docker 컨테이너를 실행하는 다른 방법이에요. 데이터는 Docker Desktop의 Docker.raw가 아니라 각자의 위치에 저장하지만, 같은 docker system df와 prune 명령이 docker CLI가 가리키는 엔진에 대해 동작해요. docker context ls로 어느 쪽인지 확인하고, 디스크 설정은 각 도구의 문서를 참고하세요.
WTMemory로 Docker 데이터를 정리할 수 있나요?
아니요, 의도적으로 그렇게 설계했어요. WTMemory의 정리 기능은 지원되는 AI 모델 폴더와 Xcode DerivedData, npm, pnpm, Yarn, Bun, Cargo, Gradle 캐시 같은 개발자 캐시를 대상으로 해요. Docker VM 데이터에는 다시 만들 수 없는 데이터베이스와 작업물이 들어 있을 수 있고, 어느 부분을 지워도 안전한지는 Docker만 알기 때문에 제외했어요.
무료로 할 수 있는 것:
- Running Apps(실행 중인 앱)에서 Docker Desktop을 다른 앱과 함께 메모리, CPU, PID, 포트와 함께 보여 줘요. 각 행은 프로세스 하나라서 Docker의 VM과 헬퍼 프로세스는 행에 표시된 것보다 더 많이 쓸 수 있어요. 전체 그림은 활성 상태 보기에서 확인하세요.
- Disk Explorer(디스크 탐색기)는 읽기 전용이에요.
~/Library/Containers같은 폴더를 지정해 폴더 크기를 비교하고 가장 큰 파일을 찾은 다음 Finder에서 볼 수 있어요. 아무것도 삭제하지 않아요.
WTMemory는 Apple Silicon과 Intel의 macOS 12 이상용 네이티브 메뉴 막대 앱이에요. 조회는 무료이고, Pro는 $9 USD 일회성 결제로 맥 3대까지 쓸 수 있으며 7일 체험판이 있어요.
자주 묻는 질문
맥에서 Docker는 데이터를 어디에 저장하나요?
Docker Desktop은 Linux 이미지, 컨테이너, 볼륨, 빌드 캐시를 디스크 이미지 파일 하나에 보관해요. 기본 위치는 ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw예요. 정확한 위치는 Settings > Resources > Advanced에 표시돼요.
Docker.raw를 지워도 안전한가요?
Docker가 실행 중일 때 Finder에서 지우지 마세요. 지우거나 초기화하면 볼륨 안의 데이터베이스 데이터를 포함해 모든 이미지, 컨테이너, 볼륨이 사라져요. 대신 prune 명령이나 Docker Desktop 자체의 문제 해결 및 초기화 옵션을 쓰세요.
docker system prune은 볼륨도 지우나요?
기본적으로는 아니에요. docker system prune은 중지된 컨테이너, 안 쓰는 네트워크, dangling 이미지, 안 쓰는 빌드 캐시를 지워요. --volumes를 붙이면 안 쓰는 익명 볼륨도 지워요. 이름 있는 볼륨은 docker volume prune -a를 쓰거나 docker volume rm으로 직접 지울 때만 삭제돼요.
prune했는데 Docker.raw가 여전히 큰 이유는?
Docker.raw는 sparse 파일이라 Finder와 일부 도구는 실제 사용 공간 대신 최대 크기를 보여 줄 수 있어요. 실제 사용량은 ls -klsh로 확인하세요. Docker는 실행 중인 컨테이너 안에서 파일을 지울 때 공간이 항상 자동으로 해제되지는 않는다고도 안내해요.
WTMemory로 Docker 데이터를 정리할 수 있나요?
아니요. WTMemory는 데이터베이스처럼 다시 만들 수 없는 데이터가 들어 있을 수 있기 때문에 의도적으로 Docker VM 데이터를 정리 대상에서 제외해요. Running Apps에서 Docker의 메모리와 CPU를 보여 줄 수 있고, 읽기 전용 Disk Explorer로 폴더 크기를 볼 수 있어요.
출처(2026년 10월 13일 확인): Docker Desktop for Mac FAQ, Prune unused Docker objects, Docker Desktop settings.