会。卸载 docker-desktop-data 会永久删除所有镜像、容器、卷及网络配置,不可恢复;卸载 docker-desktop 则导致 docker desktop 启动失败,但数据仍保留。

卸载 Docker Desktop 的某个 WSL 发行版会删掉所有容器吗
会。只要该发行版是当前 Docker Desktop 正在使用的数据后端,卸载它就等于清空整个 docker_data.vhdx —— 所有镜像、容器、卷、网络配置都会被一并删除,且不可恢复。
Windows 上的 Docker Desktop 依赖两个关键 WSL 发行版:docker-desktop(运行 daemon)和 docker-desktop-data(存储全部用户数据)。后者才是真正的“数据盘”,你日常 docker pull、docker run 产生的所有东西都存在这里。
-
docker-desktop-data被卸载 → 容器、镜像、卷全丢,docker images和docker volume ls将返回空列表 -
docker-desktop被卸载 → Docker Desktop 启动失败,但不影响docker-desktop-data里的文件(只是无法访问) - 只卸载其他无关发行版(如
Ubuntu-22.04)→ 对 Docker Desktop 完全无影响
如何安全移除一个 WSL 发行版而不波及 Docker
关键是区分“谁在用”——Docker Desktop 默认只绑定 docker-desktop 和 docker-desktop-data,其他发行版哪怕装了 Docker CLI,也不会被 Desktop 管理。
执行前先确认目标发行版是否属于 Docker:
- 运行
wsl -l -v,看名称是否为docker-desktop或docker-desktop-data - 如果不是,比如是
Debian或Ubuntu,那它和 Docker Desktop 数据完全隔离 - 即使你在那个发行版里手动装过
docker-ce,只要没改/etc/docker/daemon.json指向docker-desktop-data,就不会共享数据
安全移除命令(以 Ubuntu 为例):
wsl --unregister Ubuntu
这只会删掉那个发行版的 rootfs,不会碰 Docker Desktop 的任何文件。
误删 docker-desktop-data 后还能找回容器吗
不能直接恢复。WSL 2 的 docker_data.vhdx 是一个动态扩展的 VHDX 文件,卸载时 WSL 会直接删除整个文件,不进回收站,也不留快照。
唯一可能的补救路径(成功率极低):
- 立即停止所有磁盘写入(关机最稳妥)
- 用专业数据恢复工具(如
PhotoRec、TestDisk)扫描物理磁盘,尝试恢复已删除的docker_data.vhdx - 若恢复成功,需手动挂载 VHDX 并提取
/var/lib/docker下的overlay2和volumes目录,再重建容器
实践中,99% 的情况等同于数据彻底丢失。所以操作前必须确认:你是否已用 docker save 导出镜像、docker cp 备份容器内文件、或通过绑定挂载把数据落到了 Windows 主机目录。
想保留容器又换发行版?别卸载,换挂载点
Docker Desktop 不支持“切换数据后端发行版”,但你可以绕过它,让新发行版复用旧数据:
- 先导出所有镜像:
docker save -o all-images.tar $(docker images -q) - 停止 Docker Desktop,再用
wsl --export docker-desktop-data dd-data-backup.tar备份整盘 - 卸载
docker-desktop-data后,新建一个干净发行版(如Ubuntu-24.04) - 在该发行版中手动安装
docker-ce,然后修改/etc/docker/daemon.json,把"data-root"指向原docker-desktop-data的挂载路径(需提前用wsl --mount挂载 VHDX)
这条路技术门槛高、易出错,普通用户不如直接备份 + 重装更稳。真正需要长期维护多套环境的,建议用 podman machine 或纯 WSL2 + 手动 dockerd,避开 Desktop 的黑盒封装。











