AskCleanAskClean问净

如何在 Mac 上彻底卸载 Docker Desktop,并保留 volume 数据

AskClean 团队 · 更新于 2026-09-01

彻底卸载 Docker Desktop 会处理承载容器、镜像、构建缓存和 volume 的 Linux 虚拟磁盘。先盘点并备份无法复现的 volume 或镜像,再使用 Docker Desktop 官方卸载入口。引擎移除后才能检查应用残留;Docker.raw 和群组容器绝不能当普通缓存盲删。

可移除容器与受保护持久数据仓分开的 Docker 储存概念图
卸载 Docker 最关键的不是 App 本体,而是 volume 和虚拟磁盘中是否保存着唯一数据。

卸载前盘点可复现与持久数据

Docker Desktop 的虚拟机磁盘包含镜像、容器、构建缓存和 volume。项目源码通常在 bind mount 的外部目录,但命名 volume 可能保存 PostgreSQL、MySQL 或应用数据库的唯一副本。

运行 docker system df -v、docker ps -a、docker volume ls、docker image ls 和 docker context ls。项目中的 Compose、Dockerfile、.dockerignore 和源码必须保留。

  1. 保存 docker system df -v 的分类大小。
  2. 把重要 volume 对应到具体项目或数据库。
  3. 按数据库和 Docker 官方方法完成备份。
  4. 导出无法重建或重新拉取的本地镜像。
  5. 需要保留 context 或凭据时备份 ~/.docker。

unused 只表示当前没有容器引用,并不证明 volume 里的数据可以删除。

先判断是清空间还是彻底卸载

仍要继续用 Docker 时,应清理明确无用的构建缓存和镜像,而不是为了 Docker.raw 较大就卸载。虚拟磁盘内部空间可复用后,宿主文件也未必立刻缩小。

只有不再使用 Docker Desktop、准备切换 runtime 或有意重置全部状态时,才进入彻底卸载流程。

使用 Docker Desktop 官方卸载入口

优先从 Docker Desktop 的 Troubleshoot 菜单执行 Uninstall。官方入口更了解 App 和特权组件,不要先手工删除 Library 中的随机目录。界面不可用时,按当前 Docker 官方文档使用 App 包内卸载器。

先停止重要 Compose 项目并完成备份;卸载后若后台网络组件仍在,再重启 Mac。验证完成前不要删除备份。

检查残留,但不要盲删凭据和虚拟磁盘

~/.docker 可能包含 CLI 配置、context、凭据存储引用和 registry 设置,切换 runtime 时往往仍有价值。

Docker.raw 和 group.com.docker 不是普通缓存;它们承载 Docker 的受管状态。遇到权限错误也不要直接 sudo 递归删除。AskClean 同样只会推荐启动器缓存,并把 ~/.docker、Docker.raw 和群组容器锁定为保护项。

按原安装方式处理 CLI 和辅助组件

运行 command -v docker 确认 CLI 来自 Docker Desktop、Homebrew 还是其他 runtime。Homebrew 安装的公式应由 Homebrew 卸载;另一 runtime 提供的兼容 CLI 不应被误删。

Compose 插件、credential helper、kubectl 和 context 也要按所有者处理。项目 YAML、Dockerfile 和备份归档始终留在清理范围之外。

验证 Docker 已移除且备份可用

检查活动监视器、Applications、登录项和 command -v docker,再把剩余路径分类成缓存、配置、凭据、备份或虚拟磁盘。

先验证一个重要备份确实可读取,再删除源 volume 或虚拟磁盘。系统数据不会实时刷新时,以卸载前后的目录实测为准。

Docker 卸载安全表

项目检查方法安全决策
Compose 与源码项目目录保留;这是用户工作和服务重建配方。
命名 volumedocker volume ls先备份;可能保存数据库唯一副本。
镜像与构建缓存docker system df -v通常可重建或重下;本地镜像可能要导出。
Docker 虚拟磁盘Docker Resources / Docker.raw保护;删除会丢弃包括 volume 在内的本地引擎状态。
CLI 配置与凭据~/.docker默认保留或备份。
启动器缓存~/Library/Caches/com.docker.dockerDocker 停止后可重建。

常见问题

卸载 Docker Desktop 会删除 volume 吗?

彻底卸载会处理 Docker Desktop 的本地虚拟机状态。所有重要 volume 都应视为有风险,并在卸载前备份。

可以直接删除 Docker.raw 吗?

需要任何 Docker 数据时都不可以。它承载镜像、容器、缓存和 volume。

应该删除 ~/.docker 吗?

不要自动删除。它可能包含 context、CLI 设置、凭据引用和 registry 配置。

prune 后 Docker.raw 为什么仍很大?

prune 会让虚拟磁盘内部块可复用,但宿主文件未必立即缩小,并不代表清理失败。

参考来源

相关彻底卸载任务