Docker Windows容器运行异常求助:Linux容器正常但Windows容器报错
问题描述
切换至Windows容器运行时执行docker version报错:
Error response from daemon: open .\pipe\docker_engine_windows: The system cannot find the file specified.
Linux容器可正常运行,客户端信息如下:
Client: Cloud integration: v1.0.29 Version: 20.10.21 API version: 1.41 Go version: go1.18.7 Git commit: baeda1f Built: Tue Oct 25 18:08:16 2022 OS/Arch: windows/amd64 Context: default Experimental: true
排查步骤
检查Docker服务状态
打开服务管理器(Win+R输入services.msc),确认Docker Desktop Service和Docker Engine处于运行状态。未运行则右键启动,设置启动类型为自动。也可通过命令行验证:sc query docker sc query dockerdesktop输出需显示
STATE为RUNNING。确认Windows容器功能已启用
打开「控制面板→程序→启用或关闭Windows功能」,勾选容器和Hyper-V(若使用Hyper-V后端),重启电脑后重试。命令行验证:Get-WindowsOptionalFeature -Online -FeatureName Containers需显示
State为Enabled。重置Docker Desktop配置
打开Docker Desktop设置,进入「故障排除」选项卡,点击「重置为出厂默认值」,重置后重新切换Windows容器。注意:此操作会清除本地镜像、容器等数据,请提前备份。检查Docker上下文配置
执行docker context ls确认当前上下文为default且指向Windows容器。若异常,执行docker context use default切换。可手动指定管道测试连接:docker -n windows version验证权限与管道存在性
确保当前用户拥有管理员权限,或已加入Docker Users组。打开管理员命令提示符,执行dir \\.\pipe\,检查是否存在docker_engine_windows条目。若不存在,重启Docker服务或重新安装Docker Desktop。重新安装Docker Desktop
若以上步骤无效,卸载当前Docker Desktop,下载匹配版本(20.10.21)重新安装,安装时勾选Windows容器选项。
内容的提问来源于stack exchange,提问作者Amish Shah

