# 볼륨을 지키며 Docker Desktop 제거하기

> 공식 제거 도구가 named volume을 지우기 전에 백업하고, 설정 폴더와 가상 머신 상태를 구분해 정리합니다

Published: 2026-07-27 | Updated: 2026-08-08

Docker Desktop은 하나의 앱이 아닙니다. GUI, 백그라운드 가상 머신, `/usr/local/bin`에 연결된 명령줄 도구 모음, 그리고 어느새 수십 기가바이트까지 커지는 디스크 이미지입니다. 휴지통으로 끌어다 놓으면 그중 첫 번째만 사라지고 나머지는 남습니다.

일반적인 앱 제거와는 반대되는 문제도 있습니다. 파괴적인 단계는 뒷정리가 아니라, 그 전에 공식 제거 도구를 실행하는 순간입니다. 아래 순서를 따르면 데이터를 지킬 수 있고, 버려도 되는 잔여물과 나중에 다시 쓰고 싶은 것을 구분할 수 있습니다.

## 제거하면 컨테이너, 이미지, 볼륨이 삭제됩니다

Docker도 분명히 밝히고 있습니다. Docker Desktop을 제거하면 컨테이너, 이미지, 볼륨, 그리고 이 기기에 로컬로 있는 다른 Docker 데이터가 모두 파괴됩니다. 되돌릴 수도 없고, 휴지통으로 보내는 과정도 없습니다. 한 번 더 확인하는 창도 없습니다.

대부분은 다시 만들 수 있습니다. 이미지는 다시 pull 하면 되고, 컨테이너는 Dockerfile에서 다시 빌드하면 됩니다. 예외는 named volume입니다. 로컬 데이터베이스가 데이터를 저장하는 위치이기 때문입니다. 몇 달 동안 개발에 써 온 Postgres나 MySQL 컨테이너의 데이터는 이미지가 아니라 볼륨에 있고, 그 볼륨도 다른 모든 것과 함께 삭제됩니다.

무엇보다 먼저 현재 볼륨을 확인합니다:

```
docker volume ls
```

중요한 볼륨이 있다면 제거 후가 아니라 제거 전에 백업합니다:

```
docker run --rm -v <volume>:/from -v "$PWD":/to alpine \
  tar czf /to/<volume>.tgz -C /from .
```

빌드만 하고 한 번도 push 하지 않은 이미지에도 같은 원칙이 적용됩니다. `docker image ls`로 로컬 이미지를 확인할 수 있고, 레지스트리에 없다면 이 Mac에만 있는 것입니다.

## 공간이 이유라면 제거하지 않아도 됩니다

Docker는 모든 것을 하나의 큰 가상 디스크 이미지 안에 두고, 그 파일이 보통 Docker가 차지하는 용량 중 가장 큰 항목입니다. Docker 안에서 prune 하면 도구를 그대로 둔 채 공간을 확보하는 경우가 많고, 필요하면 되돌릴 수 있다는 이점도 있습니다. 먼저 `docker system df`로 용량 구성을 본 뒤, pruning과 디스크 파일이 스스로 줄어들지 않는 이유를 다루는 [데이터를 지키며 Mac에서 Docker 정리하기](https://mole.fit/ko/blog/how-to-clean-up-docker-mac)를 읽으세요.

Docker를 완전히 제거하려는 경우라면 아래를 계속 진행하세요.

## Docker 자체 제거 도구를 사용합니다

Docker는 제거 도구를 제공하며, 앱 번들만 지우는 정도가 아닙니다. 백그라운드 서비스를 종료하고, Finder에서 끌어다 놓을 때 남는 명령줄 심볼릭 링크도 함께 제거합니다.

앱에서: Docker Desktop을 열고 오른쪽 위 Troubleshoot 아이콘을 선택한 뒤 Uninstall을 고르고 확인합니다. Terminal에서:

```
/Applications/Docker.app/Contents/MacOS/uninstall
```

그다음 응용 프로그램에서 Docker를 휴지통으로 옮깁니다.

제거 도구가 `operation not permitted`를 보고하면 Docker 문서에 따라 무시해도 됩니다. 제거는 이미 완료된 상태입니다. 이 메시지는 macOS가 앱 컨테이너 폴더를 보호하기 때문에 나오며, Terminal은 전체 디스크 접근 권한 없이는 그 폴더에 접근하지 못합니다.

## 남은 항목, 남길 것과 지울 것

제거 도구가 실행된 뒤에도 일부 폴더는 남습니다. Docker가 명시한 두 경로는 다음과 같습니다:

```
~/Library/Group Containers/group.com.docker
~/.docker
```

둘은 성격이 다르며, 그 차이를 아는 것이 중요합니다.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/docker-uninstall-boundary.webp" width="1360" height="454" loading="lazy" alt="제거 도구는 휴지통을 거치지 않고 이미지, 컨테이너, named volume을 삭제하고, Docker 설정 폴더, Group Containers의 가상 머신 상태, 일반 캐시는 디스크에 남깁니다.">
  <figcaption>파괴적인 단계는 제거 도구입니다. 이미지와 컨테이너는 다시 만들 수 있지만 named volume은 그렇지 않으며, 남는 것은 남겨 둘 가치가 있는 폴더 하나와 지워도 되는 나머지로 나뉩니다.</figcaption>
</figure>

`~/.docker`는 설정입니다. 컨텍스트, 데몬 설정, `docker login`으로 받은 레지스트리 자격 증명이 들어 있습니다. 나중에 Docker를 다시 설치하거나 Colima, Rancher Desktop, OrbStack으로 옮길 때 남겨 두고 싶을 수 있는 폴더입니다. 지우면 모든 레지스트리에 다시 로그인해야 합니다.

`~/Library/Group Containers/group.com.docker`와 앱 컨테이너 폴더는 가상 머신의 상태와 디스크 이미지를 담습니다. 수십 기가바이트가 여기에 있습니다. 컨테이너와 볼륨이 이미 삭제된 상태라면, 지울 가치가 있는 부분이 바로 여기입니다.

이 둘 외에도 Docker는 일반적인 macOS 흔적을 남깁니다. 라이브러리 아래의 캐시, 로그, 환경설정, 저장된 앱 상태입니다. 이들은 버려도 됩니다. 목표는 이름에 `docker`가 들어간 파일을 모두 지우는 것이 아니라, 캐시인 것과 자격 증명인 것을 구분하는 것입니다.

## 실제로 제거되었는지 확인합니다

확인은 두 가지입니다. 먼저 아직 실행 중인 것이 없는지:

```
pgrep -fl -i docker
```

다음으로 명령줄 도구 링크가 끊어졌는지:

```
which docker docker-compose
```

둘 다 아무 결과도 없어야 합니다. `docker`가 여전히 잡히면 Homebrew로 따로 설치한 CLI일 가능성이 큽니다. 별도 패키지이므로 Docker Desktop 제거 도구가 의도적으로 건드리지 않습니다. `brew list | grep docker`로 확인할 수 있습니다.

## 한 번에 전체를 보는 더 빠른 방법

수동 방법도 가능하지만, 어떤 경로가 있고 그중 어떤 것이 데이터인지 이미 알고 있어야 합니다. 가이드가 보통 생략하는 부분이며, 잘못 다루면 실제로 데이터를 잃는 부분이기도 합니다.

[Mole](https://mole.fit/)는 제거 전에 앱이 남긴 모든 파일을 보여 주고, 폴더가 무엇인지 구분할 수 있게 묶으며, 옆에 용량을 표시합니다. 목록을 검토하고 남길 항목을 해제한 뒤, 삭제한 항목은 즉시 사라지지 않고 휴지통으로 이동합니다. Docker의 경우 디스크 이미지가 회수 용량의 거의 전부를 차지하는 경우가 많고, 확정하기 전에 그 숫자를 확인하는 것이 안전한 정리와 실수 삭제를 가르는 기준입니다.

## 재설치 후 다시 생기는 것

이미지와 컨테이너는 다시 생깁니다. 재현이 가능하기 때문입니다. 이미지는 다시 pull하고, 컨테이너는 Dockerfile에서 다시 빌드합니다. Named volume은 그렇지 않습니다. 다른 어디에도 복사본이 없는 유일한 항목이므로, 앞에서 백업 단계를 둔 이유가 여기에 있습니다.

`~/.docker`를 유지하면 레지스트리 로그인과 컨텍스트가 함께 돌아와 `docker login`을 다시 할 필요가 없습니다. 삭제하면 다시 로그인하면 됩니다. 시간만 더 들 뿐입니다.

가상 디스크 이미지는 비어 있는 상태로 다시 만들어집니다. 이미지를 다시 pull하면 용량도 다시 늘어나므로, 제거로 확보한 수십 GB는 재설치 후 평소처럼 쓰면 대부분 일시적입니다. 장기적으로 그 용량을 낮게 유지하는 수단은 재설치 반복이 아니라 `docker system prune`입니다.

---

Canonical HTML page: https://mole.fit/ko/blog/how-to-uninstall-docker-desktop-mac
Blog index for agents: https://mole.fit/ko/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
