默认 Docker Desktop 为 Linux 容器模式,切换需右键托盘图标选择对应选项并等待重启;务必用 docker info 验证实际模式;Windows 家庭版必须启用 WSL2 且设为默认引擎;切换后需执行 docker rm -f $(docker ps -aq) 清理残留容器。

默认安装的 Docker Desktop 就是 Linux 容器模式,只要没手动切过,基本不用额外操作。但如果你之前切到 Windows 容器、或者不确定当前状态,就得主动确认和切换。
右键托盘图标切换是最直接的方式
在 Windows 任务栏右下角找到 Docker 鲸鱼图标,右键点击后会出现两个互斥选项:
-
Switch to Linux Containers(当前是 Windows 模式时出现) -
Switch to Windows Containers(当前是 Linux 模式时出现)
选中对应项后,Docker Desktop 会自动重启后台服务。这个过程通常 10–20 秒,图标会短暂变灰再恢复绿色。注意:切换不保存容器状态,所有正在运行或已停止的容器都会被清空,镜像保留但可能因平台不兼容而无法启动。
用 docker info 验证当前模式
命令行执行 docker info | findstr "Operating System"(Windows PowerShell / CMD)或 docker info | grep "Operating System"(WSL2 或 Git Bash),输出结果决定实际模式:
- 看到
Operating System: Linux→ 确认处于 Linux 容器模式 - 看到
Operating System: Windows→ 当前是 Windows 容器模式
别只看图标状态或设置界面文字,docker info 是唯一可信的运行时判断依据。有时候界面没刷新,或者切换中途失败,只有命令行输出能反映真实情况。
Windows 家庭版用户要注意 WSL2 依赖
Linux 容器在 Windows 上必须通过 WSL2(或旧版 Hyper-V)提供内核支持。家庭版默认不带 Hyper-V,所以必须启用 WSL2:
- 确保已安装 WSL2 发行版(如 Ubuntu),且
wsl -l -v显示其状态为Running - Docker Desktop 设置里要勾选
Use the WSL 2 based engine(Settings → General) - 如果
docker run hello-world报错说“Cannot connect to the Docker daemon”,大概率是 WSL2 未就绪或未设为默认
即使 Docker Desktop 显示“Running”,若 WSL2 后端没起来,Linux 容器照样跑不起来——这点容易被忽略,排查时优先检查 WSL2 状态。
切换后记得清理残留容器
从 Windows 切回 Linux 模式后,旧的 Windows 容器无法运行,但它们仍会卡在 docker ps -a 列表里,占用 ID 和名称。不清理会导致后续 docker run --name xxx 失败(报 “Conflict”)。执行这句一键清空:
docker rm -f $(docker ps -aq)
注意:该命令会删除所有容器(无论状态),不区分平台。如果你有需要保留的 Linux 容器,得先记下名字,单独停用再跳过清理。
真正麻烦的不是切换动作本身,而是切换后那些“看不见”的残留容器和 WSL2 后端是否真在干活——这两点卡住的人最多。











