Docker for Windows 出现“超时已过期,操作未完成”的提示信息。

8
我一直在尝试为Windows机器设置Docker,并在Docker中运行Asp.Net Core 2.0应用程序。我已经完成以下设置:
  1. Windows 10。
  2. Visual Studio 2017,社区版。
  3. 安装了Core 2.0。
我创建了一个简单的Asp.Net Core2.0应用程序,并选择使用Docker来运行此应用程序。
下面是详细信息 -
  1. 默认项目设置参考图像 - Asp.Net core2.0项目设置

  2. Docker运行状态

下面是超时问题的详细信息。
   Time out has expired and the operation has not been completed.
   at System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)
   at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(String args, Dictionary`2 env) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\Processes\WindowsDockerDaemon.cs:line 138
   at Docker.Backend.ContainerEngine.Windows.DoStart(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Windows.cs:line 200
   at Docker.Backend.ContainerEngine.Windows.Start(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Windows.cs:line 78
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47
   at Docker.Core.Pipe.Nam

有人能建议超时问题可能是什么吗?我已经尝试并重置了 Docker。


你是否已经启动了“Docker for Windows”应用程序?它需要运行。当 Docker 运行时,会显示 Docker 鲸鱼图标。默认情况下,Docker 鲸鱼图标位于通知区域。如果它被隐藏了,请单击任务栏上的向上箭头来显示它。 - alwayslearning
@alwayslearning,非常感谢您的快速回复,您能否建议我在哪里进行检查? 我附上了一个屏幕截图以供参考。我无法添加屏幕截图,我已经从以下路径运行了Docker终端-C:\ Users \ jitendra \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Docker,并重置了所有设置,但仍然出现超时错误。 - Jitendra soni
作为第一步,您可以尝试运行此处描述的“hello world”示例 - https://docs.docker.com/docker-for-windows/#explore-the-application-and-run-examples 它是否能够无错误地运行? - alwayslearning
你好,你查看了系统要求吗?我遇到了相同的问题,发现我的机器使用的是尚不支持的Windows 10 Home系统。 - lennon_liang
这可能听起来很蠢。但我遇到了同样的错误:在 Mac 上运行的 VMware Fusion 上运行的 Windows 10VM 上安装了 Docker for Windows。退出 Docker,并以管理员身份重新运行,这样它就可以运行了。 - C. Tewalt
你试过我的解决方案了吗?请检查一下这个解决方案是否解决了你的问题。 - sorosh_sabz
3个回答

3

我认为我们可能有相同的问题

经过多个月的探索,我找到了我的问题

正如您在切换从Linux到Windows容器时崩溃中所看到的,我的问题是Docker桌面版的一个错误,即我按照Docker论坛指南更改后,panic.txt是只读

简短的答案是

  1. 进入 C:\ProgramData\Docker (或任何其他数据根目录所在的位置)
  2. 右键单击 panic.txt → 属性
  3. 取消选中“只读”

我的问题已解决(非常感谢Tomas Slaman


可以确认,这解决了我的问题。谢谢! - Brane

1
我们遇到了相同的问题。我们不得不卸载Windows版的Docker,然后重新安装。但这次我们没有勾选安装屏幕上的“启用Windows容器”的选项。所以我们只是点击了下一步,意味着在Windows机器上进行安装时将使用Linux容器而不是Windows容器。之后,安装和启动都成功了。

0

我遇到了这个问题,认为有必要确认我的系统是否启用了虚拟化,因为禁用可能是问题的原因。显然,那就是我的问题所在。

基本上,由于我已经在“打开或关闭Windows功能”下启用了Hyper-V,我只需在管理员模式下在Windows PowerShell中运行脚本:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

这导致了一次重启,之后我就没问题了。

以下是在Windows 10上启用虚拟化的参考指南: https://thebackroomtech.com/2019/03/11/how-to-enable-virtualization-in-windows-10/

希望这能有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接