在Docker Desktop中关闭某WSL2发行版集成:进入Settings → Resources → WSL Integration,取消对应发行版的“Enable integration”勾选,点击Apply & Restart;该操作不终止发行版、不删数据,仅断开Docker daemon连接。

怎么在 Docker Desktop 里关掉某个 WSL2 发行版的集成
Docker Desktop 的 WSL 集成不是全局开关,而是按发行版逐个控制的。你不需要卸载或重置整个 WSL 环境,只需在设置里关闭对应发行版的勾选即可。这个操作不会影响该发行版本身的运行,也不会删除任何数据。
进入 Docker Desktop → Settings → Resources → WSL Integration,你会看到一个列表,包含所有已注册的 WSL2 发行版(如 Ubuntu-22.04、Ubuntu-24.04),每个发行版右侧都有独立开关。
要停用某一个:
- 确保该发行版当前未在运行(可先在 PowerShell 中执行
wsl -t终止) - 取消勾选它对应的 “Enable integration” 复选框
- 点击右下角
Apply & Restart
完成后,该发行版终端里执行 docker --version 仍能显示版本号(因为 CLI 工具还在 PATH 里),但运行 docker ps 会报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? —— 这说明集成确实已断开。
为什么关掉集成后 docker 命令还“看起来能用”
这是最容易被忽略的一点:Docker Desktop 安装时会把 docker CLI 可执行文件(Windows 版本)加进系统 PATH。所以即使 WSL 发行版没集成,你在 WSL 终端里输 docker --help 也能响应 —— 实际调用的是 Windows 上的 docker.exe,它会尝试通过 TCP 或 named pipe 连宿主机的 daemon,而默认情况下,它连不上。
验证是否真集成成功,只看两点:
-
docker info | grep "Default Runtime"能输出内容(说明连接到了 daemon) -
docker run hello-world能拉镜像并打印欢迎信息(不是报 connection refused)
如果只是想临时禁用某个发行版的集成(比如调试网络冲突),关掉开关就行;但若长期不用,建议也从 PATH 中移除 WSL 内的 /mnt/wsl/docker-desktop-data/data/docker-cli 类似路径的软链接(如有),避免误触发跨环境调用。
关掉集成后,docker-desktop-data 卷还占用空间吗
会。关掉 WSL 集成 ≠ 删除或清理 docker-desktop-data 这个 WSL2 发行版。它仍然在后台运行,持续存储镜像层、容器卷、构建缓存等数据。只要 docker-desktop 和 docker-desktop-data 这两个发行版没被 wsl --unregister,它们的 .vhdx 文件就一直占着磁盘空间。
如果你的目标是释放空间,而不是单纯停用某个 Ubuntu 发行版的集成,请直接执行:
wsl --unregister docker-desktop-data wsl --unregister docker-desktop
注意:这会清空所有本地镜像、容器、构建缓存和自定义配置 —— 不是“关集成”,而是“重置 Docker Desktop 底层运行环境”。











