How to uninstall Docker Desktop on Windows
Docker Desktop's own uninstaller removes local containers, images and volumes along with the app. Export anything you need and verify you can restore it before you uninstall. This guide covers Docker Desktop installed machine-wide from the Docker.DockerDesktop winget package. Removing the app does not cancel a paid Docker subscription or delete your Docker account.
Quit Docker Desktop first
Quit Docker Desktop from its tray icon; it also starts a background launcher at login. Check Task Manager (Ctrl+Shift+Esc) for Docker Desktop.exe before you uninstall.
Remove the app with its own uninstaller
Go to Settings › Apps › Installed apps, find Docker Desktop, and choose Uninstall, or run:
winget uninstall --id Docker.DockerDesktop
Docker's uninstall instructions also document running the installer itself with an uninstall switch, and note that containers, images and volumes are removed along with the app.
Back up before you remove data
Export or back up any volumes and databases you need, and confirm you can restore them, before you run either uninstaller. Docker Desktop's own virtual disk, where your containers, images and volumes live, is removed with the app.
Where the data lives
| Location | What it holds | What to do |
|---|---|---|
%ProgramData%\DockerDesktop |
Desktop's machine-wide settings | Removed by the uninstaller |
%APPDATA%\Docker |
Desktop's per-user settings | Back this up if you want to keep them; remove once you are done with Docker Desktop |
%LOCALAPPDATA%\Docker\log |
Desktop's logs | Safe to remove |
%USERPROFILE%\.docker |
Command-line configuration, contexts and credential settings | Keep it while any other Docker-compatible command-line tool or client uses it |
Docker's virtual disk under %LOCALAPPDATA%\Docker\wsl |
Your containers, images and volumes | Back this up first; only Docker's own uninstaller removes it |
Check the result
Run these read-only commands after the app is removed:
Get-Process "Docker Desktop" -ErrorAction SilentlyContinue
winget list --id Docker.DockerDesktop
Test-Path "$env:ProgramFiles\Docker\Docker"
Test-Path "$env:APPDATA\Docker"
Test-Path "$env:USERPROFILE\.docker"
wsl --list --verbose
- No output from
Get-Processonly means this query observed no matching process; a suppressed error leaves the running state unknown. A listed process means it, or a helper, is still running. - A completed
winget listquery with no match means the package record is gone; a matching row means the uninstall did not finish. Test-Path "...\Docker\Docker"returningFalsemeans the program folder is gone.Test-Path "...\Docker"andTest-Path "...\.docker"returningTruemeans those settings and command-line configuration are still on this PC, which is expected unless you removed them yourself.wsl --list --verboselisting adocker-desktopordocker-desktop-dataentry means Docker's Windows Subsystem for Linux distributions, and the virtual disk inside them, are still here.
If you installed it with winget
winget uninstall runs the same uninstaller Settings › Apps uses and removes the same program files; it does not touch %USERPROFILE%\.docker or the virtual disk under %LOCALAPPDATA%\Docker\wsl on its own.
What Mole lists
For Docker Desktop installed machine-wide from winget:
- The program folder,
%ProgramData%\DockerDesktopand the desktop shortcut are selected by default. %APPDATA%\Dockeris listed but not selected.%LOCALAPPDATA%\Docker\logis selected by default.%USERPROFILE%\.dockeris never listed, because other command-line tools and Docker-compatible clients read it too.- Docker's virtual disk under
%LOCALAPPDATA%\Docker\wsl, which holds your containers, images and volumes, is never listed. Back it up and remove it through Docker's own uninstaller. - An empty folder the uninstaller sometimes leaves behind under Program Files is kept, not offered for removal.
What this test covered
Tested with Docker Desktop 4.91.0 installed through winget, machine scope. Docker Desktop's background service and Windows Subsystem for Linux backend did not start in the test environment, so quitting a running instance and its process list were not exercised. Its login item was seen before removal and confirmed gone afterward, and the uninstall review and removal of the listed items were tested and completed cleanly.
