Windows 上切换 Docker 运行时本质是切换 Docker Desktop 的底层引擎模式:Linux 容器依赖 WSL2 或 Hyper-V,Windows 容器直接调用内核隔离;可通过系统托盘右键、命令行 DockerCli.exe -SwitchDaemon 或设置界面调整,并需注意后端配置兼容性。
在 windows 上切换 docker 运行时(windows 容器 ↔ linux 容器),本质是切换 docker desktop 的底层容器引擎模式。这个操作必须在 windows 宿主机上进行,且依赖系统功能支持——linux 容器靠 wsl2 或 hyper-v 虚拟机承载,windows 容器则直接调用 windows 内核隔离机制。
确认当前运行时模式
打开 PowerShell 或命令提示符,执行:
docker info | findstr "OSType ServerVersion"
输出中若含 OSType: windows,说明当前为 Windows 容器模式;若为 OSType: linux,则处于 Linux 容器模式。ServerVersion 字段会显示对应内核版本(如 Windows Server 2022 或 Linux kernel 5.x)。
通过系统托盘图标快速切换
这是最常用、最直观的方式:
- 右下角任务栏找到 Docker Desktop 图标(鲸鱼图标)
- 右键点击 → 选择 Switch to Windows containers 或 Switch to Linux containers
- 等待状态栏提示“Switching…”完成,Docker 引擎自动重启并加载对应后端
注意:首次切换到 Linux 容器时,若未安装 WSL2,Docker Desktop 会引导你安装并重启;若已启用 Hyper-V,则可能使用 Hyper-V 虚拟机(MobyLinuxVM)作为替代后端。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
通过命令行强制切换
适用于自动化脚本或远程管理场景:
- 切换到 Windows 容器:& "$Env:ProgramFiles\Docker\Docker\DockerCli.exe" -SwitchDaemon
- 切换到 Linux 容器:& "$Env:ProgramFiles\Docker\Docker\DockerCli.exe" -SwitchDaemon(同命令,Docker 会根据当前状态反向切换)
该命令不依赖 GUI,但需确保 Docker Desktop 正在运行。执行后可通过 docker version 验证客户端/服务端 OS 类型是否一致。
检查并调整后端配置
某些情况下切换失败,往往源于后端设置冲突:
- 打开 Docker Desktop → Settings → General → 取消勾选 Use the WSL 2 based engine(若想用 Hyper-V 后端运行 Linux 容器)
- Settings → Resources → WSL Integration → 可单独启用/禁用特定 WSL 发行版(影响 Linux 容器构建环境)
- Settings → Docker Engine → 检查 JSON 配置中无硬编码的 "experimental": true 或 Linux 专属参数(如 "default-runtime": "runc")
修改后需点击 Apply & Restart。WSL2 是默认推荐后端,性能更好;Hyper-V 后端更稳定但资源开销略高;Windows 容器模式下 WSL2 选项不可用,且必须关闭。

















