Docker 引擎停止问题处理手册(Windows 10 LTSC 2021)
- # Docker 引擎停止问题处理手册(Windows 10 LTSC 2021) 适用范围: - 系统:`Windows 10 Ente...
- - `docker pull` 报 `dockerDesktopLinuxEngine` 管道不存在。
- - Docker Desktop 界面可能显示 `Engine stopped`。
# Docker 引擎停止问题处理手册(Windows 10 LTSC 2021)
适用范围:
– 系统:`Windows 10 Enterprise LTSC 2021 (build 19044)`
– Docker Desktop:`4.49.0`
– 常见报错:
`open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified`
## 1. 故障特征
– `docker version` 只有 `Client`,`Server` 报错。
– `docker pull` 报 `dockerDesktopLinuxEngine` 管道不存在。
– Docker Desktop 界面可能显示 `Engine stopped`。
– `Extensions` 页可能出现 `Failed to fetch extensions`。
## 2. 本次已验证根因
– Docker 后端状态反复为 `docker: stopped`。
– 日志中出现 `wslUpdateRequired: true`,导致 WSL 引擎无法正常启动。
– 相关日志文件:
`C:\Users\WIN2021\AppData\Local\Docker\log\host\monitor.log.0`
– 网络侧另有独立问题:`registry-1.docker.io` 直连可能超时,但不一定导致引擎无法启动。
## 3. 标准恢复流程(建议按顺序执行)
1. 关闭 Docker 相关进程:
“`powershell
Get-Process -Name ‘Docker Desktop’,’com.docker.backend’ -ErrorAction SilentlyContinue | Stop-Process -Force
“`
2. 更新 WSL(关键):
“`powershell
wsl –update
“`
3. 关闭所有 WSL 实例:
“`powershell
wsl –shutdown
“`
4. 重新启动 Docker Desktop:
“`powershell
Start-Process ‘C:\Program Files\Docker\Docker\Docker Desktop.exe’
“`
5. 等待 15-60 秒后验证:
“`powershell
docker version
docker info
docker run –rm hello-world
“`
## 4. 一键恢复脚本
项目内已提供:
`D:\Python\blog-java-starter\scripts\recover-docker.ps1`
执行方式:
“`powershell
cd D:\Python\blog-java-starter
.\scripts\recover-docker.ps1
“`
包含操作:
– 检查 Docker CLI
– 执行 `wsl –update`
– 执行 `wsl –shutdown`
– 结束 Docker 旧进程
– 重启 Docker Desktop
– 轮询 `docker info` 直到可用
## 5. 如果恢复后仍失败
1. 检查 Docker 是否与系统版本兼容。
2. 用管理员终端检查系统功能:
“`powershell
dism.exe /online /Get-FeatureInfo /FeatureName:Microsoft-Windows-Subsystem-Linux
dism.exe /online /Get-FeatureInfo /FeatureName:VirtualMachinePlatform
“`
3. 检查 WSL:
“`powershell
wsl –status
wsl –list –verbose
“`
4. 检查日志关键字:
`wslUpdateRequired`、`engine linux/wsl is stopping`、`failed to start`
## 6. Extensions 报错说明
– `Failed to fetch extensions` 常见原因是 Docker Hub/扩展仓库网络不可达。
– 这通常不影响你使用容器运行项目。
– 如果 `docker pull` 正常、`docker run hello-world` 正常,可先忽略扩展页错误。
## 7. 网络问题处理(可选)
如果 `registry-1.docker.io` 直连超时:
– 配置代理(Docker Desktop -> Settings -> Resources -> Proxies)
– 或配置镜像加速(Docker Engine 配置中添加 `registry-mirrors`)
示例:
“`json
{
“registry-mirrors”: [
“https://docker.m.daocloud.io”
]
}
“`
## 8. 验收标准
满足以下即视为恢复完成:
– `docker version` 同时显示 Client/Server
– `docker info` 正常返回
– `docker run –rm hello-world` 成功输出 `Hello from Docker!`