Uninstall Docker Desktop on Mac
Docker Desktop's uninstaller deletes local containers, images, and volumes. Back up databases and named volumes and verify that you can restore them first. Saving an image does not save the database stored in a volume. This guide covers Docker Desktop downloaded from Docker and the Homebrew cask docker-desktop. Removing the app does not cancel a paid Docker subscription or delete your Docker account.
If you only want disk space back and plan to keep Docker, read Clean Up Docker on Mac: Images, Build Cache, Volumes instead of uninstalling.
Run Docker's uninstaller first
Open Docker Desktop, choose Troubleshoot in the top-right corner of the Dashboard, then select and confirm Uninstall. After it finishes, move Docker from Applications to the Trash. Keep this order: the uninstaller lives inside the app. Docker's uninstall instructions
If the Dashboard will not open, Docker documents the same uninstaller from Terminal. It asks for your password and removes Docker’s data, so only run it after the backup:
/Applications/Docker.app/Contents/MacOS/uninstall
It may end with operation not permitted on ~/Library/Containers/com.docker.docker. Docker says the uninstall still succeeded and that you can remove that folder later after giving your terminal app Full Disk Access in System Settings › Privacy & Security › Full Disk Access.
For volume backups, virtual disks, and command-line entries, see Uninstall Docker Desktop without losing named volumes.
If you installed it with Homebrew
Mole skips --zap when its list reaches unchecked or shared data, or cannot be fully checked, and still cleans the leftovers you selected.
The docker-desktop cask’s zap list includes ~/Library/Containers/com.docker.docker, where Docker’s virtual disk with your images and volumes lives, ~/Library/Group Containers/group.com.docker (settings) and ~/.docker (CLI configuration and contexts), together with support, cache and log folders. brew uninstall --cask --zap docker-desktop moves all of them to the Trash, including a ~/.docker that OrbStack or a separately installed Docker CLI still uses. When you run that command yourself, the zap list does not follow Mole’s checkboxes. Even without zap, the cask unloads Docker helper, socket and network jobs and deletes the socket and network privileged helpers. It also removes its managed command links. These ordinary uninstall steps do not follow Mole’s remnant checkboxes. Back up first; to keep the data folders named above, run:
brew uninstall --cask docker-desktop
Review remaining data
Docker lists the first two locations below as residual files after its uninstaller. Open each with Shift + Command + G in Finder.
| Location | What it holds | What to do |
|---|---|---|
~/Library/Group Containers/group.com.docker |
Docker Desktop settings | Remove once you are done with Docker Desktop |
~/.docker |
CLI configuration, contexts and credential settings | Keep it while OrbStack or another Docker CLI uses it |
~/Library/Containers/com.docker.docker |
The virtual disk with images and volumes | Only after your backups are verified |
~/Library/Application Support/Docker Desktop |
Dashboard settings and the signed-in session | Remove when you no longer need those settings |
~/.orbstack belongs to OrbStack. Do not delete it, or ~/.docker, just to remove Desktop.
Check the result
Run these read-only commands after the app is in the Trash:
pgrep -il docker
launchctl list | grep -i docker
ls /Library/PrivilegedHelperTools | grep -i docker
ls -l /usr/local/bin/docker
ls -d ~/Library/Containers/com.docker.docker ~/Library/Group\ Containers/group.com.docker ~/.docker
- No output from
pgrepmeans Docker has quit. A listed process means Desktop, its VM or a helper is still running. - A
com.dockerline fromlaunchctl listmeans a Docker job is still loaded; acom.dockerfile in/Library/PrivilegedHelperToolsmeans Docker’s privileged helper is still installed. Put Docker.app back in Applications from the Trash, or reinstall it from Docker’s installer, then run the uninstaller again. Do not delete root-owned files by hand. ls -l /usr/local/bin/dockershows where thedockercommand points. A link into the removed Docker.app is stale; a link to OrbStack or Homebrew belongs to that installation. A surviving command does not mean Desktop is running, and a daemon connection error does not prove that volumes were removed.ls -dprints each data folder that still exists. A surviving~/.dockeris expected when another Docker environment uses it.
If your goal is only to free space
Container images, volumes, and the Desktop application occupy different parts of the disk. Identify volumes and containers you must keep in Docker Desktop, especially databases, then use the product's own cleanup or export tools for objects you no longer need. Removing Desktop is a separate decision. Neither the app icon nor the presence of a docker command tells you what remains in the virtual disk.
After the official uninstaller runs, verify that a backed-up volume can be restored in the destination environment. If you cannot verify the backup, pause further cleanup instead of deleting every remaining directory.
What Mole lists
The unselected data rows below assume Remove data and settings with apps is off, the default. Turning it on can select eligible app-owned review rows; keep wanted data unchecked. Shared stores and protected data retain individual review or protection.
For Docker Desktop downloaded from Docker:
~/Library/Application Support/Docker Desktopis listed but not selected.- Caches named
com.docker.*are selected by default. ~/.dockerand~/.orbstackare not listed, because OrbStack writes them too.~/Library/Containers/com.docker.docker, the virtual disk with your images and volumes, is not listed.- For Docker’s privileged helpers and launch jobs, rely on Docker’s uninstaller; Mole’s handling of them has not been tested.
What this test covered
Docker Desktop was installed from Docker’s official download and uninstalled with a development build of Mole on September 18, 2026, alongside OrbStack. The 2.32 GB app went to the Trash; the 17.6 MB com.docker.docker container could not be moved, and a Docker helper entry was still listed in Login Items afterwards, pointing at the app in the Trash. ~/.docker was left in place on purpose. Docker’s own uninstaller, the privileged helpers, the Homebrew cask and volume backups were not tested.
