AskCleanAskClean

Mac에서 Docker가 너무 클 때 안전하게 공간 회수하기

AskClean 팀 · 업데이트 2026-07-31

먼저 docker system df -v를 실행해 이미지, 중지 컨테이너, 빌드 캐시와 볼륨 중 무엇이 공간을 쓰는지 확인하고 진단된 범주만 정리하세요. 데이터 볼륨은 백업 전 삭제하지 말고 Docker.raw를 Finder에서 직접 삭제하거나 이동하지 마세요.

컨테이너, 이미지 계층, 빌드 캐시와 보호된 데이터 볼륨으로 나뉜 Docker 저장 공간
하나의 가상 디스크에 재생성 가능한 계층과 영구 데이터가 함께 있으므로 범주별로 확인하세요.

macOS에서 Docker가 크게 보이는 이유

Docker Desktop은 가벼운 Linux 가상 머신 안에서 컨테이너를 실행합니다. 이미지, 컨테이너 쓰기 계층, 빌드 캐시와 볼륨은 Finder에서 편집할 일반 폴더가 아니라 큰 디스크 이미지에 저장되며 보통 Docker.raw라는 이름을 씁니다.

디스크 이미지 최대치, Finder의 논리적 크기와 Docker의 실제 사용량은 다를 수 있습니다. 희소 파일은 큰 범위를 보이면서 호스트 블록은 일부만 사용할 수 있습니다.

Docker.raw를 직접 삭제하면 로컬 이미지, 컨테이너와 볼륨을 모두 파괴할 수 있습니다. 위치 변경은 Finder가 아니라 Docker Desktop Settings를 사용하세요.

읽기 전용 저장 공간 감사

docker system df는 이미지, 컨테이너, 로컬 볼륨, 빌드 캐시와 회수 가능량을 요약하고 docker system df -v는 상세 항목을 보여 줍니다.

회수 가능량에도 맥락이 필요합니다. 공유 이미지 태그 하나를 지워도 전체 크기가 돌아오지 않으며 연결되지 않은 볼륨에도 다시 쓸 데이터베이스가 있을 수 있습니다.

Docker Desktop Settings > Resources에서 디스크 제한과 이미지 위치를 기록하세요. Docker가 시작되지 않으면 초기화 전에 공식 복구 절차로 데이터를 보호합니다.

  1. docker system df -v 결과를 날짜와 함께 저장합니다.
  2. docker ps -a로 중지 컨테이너의 소유 프로젝트를 확인합니다.
  3. docker image ls에서 중요한 태그를 활성 프로젝트와 연결합니다.
  4. docker volume ls에서 볼륨 소유자와 백업을 확인합니다.
  5. docker builder du 등 현재 Builder 명령으로 빌드 캐시를 살펴봅니다.

실행 중 컨테이너에 연결되지 않았다는 이유만으로 볼륨을 삭제하면 안 됩니다. 중지된 데이터베이스나 Compose 프로젝트 데이터일 수 있습니다.

중지 컨테이너와 미사용 이미지 선택 삭제

불필요하다고 확인한 컨테이너는 docker container rm과 이름 또는 ID로 삭제합니다. 쓰기 계층은 사라지지만 별도 요청이 없으면 이름 있는 볼륨은 남습니다.

미사용 이미지는 docker image rm으로 삭제합니다. 컨테이너 참조가 있으면 force 대신 해당 컨테이너를 확인하세요. 자주 쓰는 무거운 기본 이미지를 남기는 것은 합리적입니다.

docker container prune은 모든 중지 컨테이너, docker image prune은 기본적으로 dangling 이미지를 확인 후 지웁니다. -a는 미참조 이미지 전체로 범위를 넓힙니다.

볼륨을 건드리지 않고 빌드 캐시 정리

BuildKit은 변경되지 않은 단계를 재사용하려고 계층을 남깁니다. 활성 개발 Mac에서 가장 큰 회수 가능 범주가 될 수 있으며 Dockerfile에서 다시 만듭니다.

기본 Builder는 docker builder prune, buildx Builder는 docker buildx prune을 사용합니다. 확인 프롬프트를 안전 장치로 남기세요.

다음 빌드는 느려지고 다시 다운로드할 수 있습니다. 반복된다면 .dockerignore, Dockerfile 명령 순서와 CI 캐시 예산도 개선합니다.

docker system prune 범위 이해하기

기본 docker system prune은 중지 컨테이너, 미사용 네트워크, dangling 이미지와 미사용 빌드 캐시를 삭제합니다. 감사 후 그 전체 범주를 받아들일 때만 사용하세요.

기본은 볼륨을 삭제하지 않습니다. --volumes는 익명 볼륨까지 넓혀 실제 데이터를 잃을 수 있습니다. 이해 없이 추가하지 마세요.

-a는 컨테이너가 쓰지 않는 모든 이미지까지 대상으로 합니다. 데이터는 잃지 않아도 재다운로드 비용이 커질 수 있습니다.

  1. 감사를 끝내고 중요한 볼륨을 백업합니다.
  2. 원인이 한 범주면 builder prune 또는 container prune을 먼저 사용합니다.
  3. 확인 목록 전체를 받아들일 때만 -a와 --volumes 없이 system prune을 실행합니다.
  4. docker system df -v를 다시 실행하고 중요한 프로젝트를 시작합니다.
  5. Docker Desktop이 호스트 블록을 반환한 후 macOS 여유 공간을 확인합니다.

볼륨을 캐시가 아닌 데이터로 취급하기

볼륨은 컨테이너보다 오래 남도록 설계되었습니다. 중지된 PostgreSQL이나 MySQL 볼륨이 유일한 로컬 데이터를 담고 있을 수 있어 소유자와 백업을 알기 전에는 문서처럼 다뤄야 합니다.

Docker 안내처럼 볼륨 데이터는 별도로 백업하고 가능하면 데이터베이스 자체 내보내기를 사용해 복원 테스트를 하세요. 실행 중 데이터 디렉터리의 단순 복사는 일관된 백업이 아닐 수 있습니다.

Compose에서 볼륨 이름, 소유 프로젝트, 복원 방법과 만료 시점을 기록합니다.

Docker Desktop 저장 위치·제한·초기화

객체 정리로 충분하지 않으면 Docker Desktop Settings에서 디스크 이미지 위치와 제한을 관리합니다. 지원되는 UI를 사용하세요.

Docker.raw를 Finder로 이동하지 마세요. Factory Reset, 제거 또는 파괴적 크기 변경 전에 이미지 재수급 가능성을 확인하고 볼륨은 별도로 백업합니다.

객체 삭제와 호스트 공간 반환 사이에 지연이 있을 수 있습니다. Docker Mac FAQ에 따르면 Docker.raw는 이전 qcow2보다 빠르게 공간을 반환하므로 추가 삭제 전 다시 측정하세요.

AskClean이 하는 일과 하지 않는 일

AskClean은 Docker Desktop 런처 캐시와 Mac 쪽 사용량을 보여 주지만 Docker.raw, Group Container, 자격 증명, 이미지와 볼륨은 공급자 관리 또는 기본 비선택으로 표시합니다.

Docker 객체와 가상 디스크는 Docker CLI와 Settings로 관리하세요. AskClean으로 위치를 찾고 docker system df -v로 진단한 뒤 정확한 범주만 정리합니다.

Docker 범주별 삭제 위험

한 가상 디스크에 재생성 가능한 계층과 영구 데이터가 함께 있습니다.

범주확인 방법삭제 결과
빌드 캐시docker system df -v / Builder 도구다시 빌드하거나 다운로드하며 볼륨 데이터는 건드리지 않습니다.
중지 컨테이너docker ps -a쓰기 계층을 잃지만 이름 있는 볼륨은 보통 남습니다.
미사용 이미지docker image ls필요하면 다시 받거나 빌드합니다.
볼륨docker volume ls앱이나 데이터베이스 영구 데이터를 잃을 수 있습니다.
Docker.rawDocker Desktop Settings수동 삭제는 모든 로컬 Docker 객체와 볼륨을 지울 수 있습니다.

자주 묻는 질문

Docker.raw가 왜 이렇게 큰가요?

이미지, 컨테이너, 캐시와 볼륨을 담은 Linux 가상 디스크입니다. 논리 크기와 실제 호스트 사용량이 달라 docker system df -v와 Settings를 확인해야 합니다.

docker system prune은 안전한가요?

표시된 중지 컨테이너, 미사용 네트워크, dangling 이미지와 빌드 캐시를 모두 불필요하다고 판단한 경우에만 그렇습니다. -a와 --volumes는 이해 없이 추가하지 마세요.

docker system prune이 볼륨을 삭제하나요?

기본은 아닙니다. --volumes는 익명 볼륨까지 포함합니다. 미사용처럼 보여도 데이터베이스가 있을 수 있으므로 소유자와 백업을 확인하세요.

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

삭제하거나 이동하지 마세요. 전체 로컬 상태를 파괴하거나 Docker Desktop을 고장 낼 수 있습니다. 객체는 CLI, 디스크 이미지는 Settings로 관리합니다.

참고 자료

개발자 저장 공간 정리 계속하기