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

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

- URL: https://moreroom.app/ko/learn/docker-desktop-disk-image
- Published: 2026-10-17
- Updated: 2026-10-17
- Publisher: MoreRoom (Yando Pte. Ltd.) — https://moreroom.app

## TL;DR

- 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은 작은 가상 머신 안에서 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의 위치와 실제 크기

[디스크 이미지](https://moreroom.app/glossary#docker-raw)의 기본 위치는 다음과 같습니다.

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

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

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

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

`ls -s` 출력에서 첫 번째 숫자가 실제로 할당된 공간이고, 크기 열은 최댓값입니다. `du`는 할당된 공간만 보고합니다. Docker의 [Mac FAQ](https://docs.docker.com/desktop/troubleshoot-and-support/faqs/macfaqs/)도 같은 `ls -klsh` 방법을 안내합니다.

![스파스 파일인 Docker.raw: 디스크 사용량 제한으로 정해진 논리적 크기와 Mac에 실제로 할당된 블록 비교](https://moreroom.app/learn/img/docker-desktop-disk-image-sparse.svg)

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

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

```sh
docker system df
docker system df -v
```

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

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

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

### 빌드 캐시

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

```sh
docker builder prune
```

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

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

```sh
docker system prune
docker system prune -a
```

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

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

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

```sh
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의 문제 해결 페이지](https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/)에 따르면 이 기능은 설정은 유지한 채 모든 로컬 컨테이너와 이미지를 삭제합니다. 볼륨도 같은 디스크 이미지에 있으므로 함께 사라진다고 보는 것이 맞습니다. 처음부터 다시 시작해도 괜찮을 때만 사용하세요.

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

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

- **OrbStack**은 컨테이너, 이미지, Linux 머신을 `~/Library/Group Containers/HUAQ24HBR6.dev.orbstack/data`에 저장합니다. [문서](https://docs.orbstack.dev/)에 따르면 동적 디스크 관리를 사용하므로 사용량이 필요에 따라 늘고 줄어듭니다. 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에는 여러 항목을 한 번에 정리하는 컬렉터와 목표 모드가 더해집니다.

## FAQ

### 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 문서는 최대 크기를 줄이면 현재 디스크 이미지가 모든 이미지, 컨테이너, 볼륨과 함께 삭제된다고 경고합니다.
