在手动删除Hyper-V中的MobyLinuxVM后,Windows 10上的Docker无法启动

时间:2017-02-28 04:41:08

标签: windows docker startup

起初,我的Windows 10上的docker在正式版上运行良好。

然后我出于某种原因删除了Hyper-V中的MobyLinuxVM。之后,码头工人无法工作。

然后我关闭了Hyper-V的功能并卸载了docker(当然计算机已重启)。

然后我重新安装docker并再次打开Hyper-V的功能。但码头工作者仍然无法工作。

我在google上尝试了一些解决方案,但问题仍然存在 我在docker启动期间检查了MobyLinuxVM的状态,发现从未创建MobyLinuxVM。

有人知道如何解决?

这是屏幕截图和日志:

kaminari tutorial

respond_to do |format|
   format.json { render json: @versions }
end

4 个答案:

答案 0 :(得分:11)

  

然后我重新安装docker并再次打开Hyper-V的功能。

确保首先打开Hyper-V的功能(并重新启动)

然后reinstall Docker for Windows
请参阅" What to know before you install":

  

当前版本的Docker for Windows在64位Windows 10 Pro,Enterprise和Education(1511年11月更新,Build 10586或更高版本)上运行。

     

必须启用Hyper-V软件包才能使Docker for Windows正常运行。如果需要,Docker for Windows安装程序将为您启用它。

您的特定错误消息在docker/for-win issue 248中报告,之前在issue 214

中报告
Unable to create: 
The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 
The object already exists.

noted in this commenthere,请尝试删除已保存的VM并重新启动。

  

你应该在C:\Program Files\Docker\Docker\resources运行命令   因此,让我改进您可以运行的命令序列:

  • 退出申请
  • 停止服务com.docker.service
  • cd 'C:\Program Files\Docker\Docker\resources'
  • .\MobyLinux.ps1 -Destroy
  • 检查VHDX文件(C:\Users\Public\Public Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx)是否已删除
  • .\MobyLinux.ps1 -Create

答案 1 :(得分:8)

问题解决了!! 我尝试了VonC提供的方法,虽然仍然无法工作,但我发现有一件事,当我运行命令.\MobyLinux.ps1 -Create时,它会提示VNAT创建错误。然后我打开网络适配器列表,发现有很多"断开的适配器"这是由Hyper-V创建的(在这段时间里,我已经关闭并开启了几次,每次它都不能识别Docker可以使用的旧适配器)。所以docker找到的适配器与Hyper-V找不到的适配器匹配,并且会提示"对象已经存在"并且不会创造新的。

最后,我们需要做的是打开设备管理器并删除不必要的适配器 - 然后docker成功启动了!

最后,非常感谢VonC的第一个答案

答案 2 :(得分:0)

它不支持hyperV单元路径上的空格 您需要在hyperV配置上配置一个没有空格的路径。

答案 3 :(得分:0)

我也遇到了类似的问题, 就我而言,我试图删除MobyLinux VM,不知道所有依赖关系,因此当Docker启动时,虚拟机无法在Hyper-V中创建DockerNAT虚拟交换机。 Docker尝试创建一个正在运行的虚拟机(启动docker进行监视时打开Hyper-V),但是vm失败并停止。

我通过以下方式解决了该问题:

  • 卸载Docker

  • 我更改了默认的hyper-v虚拟机文件夹HyperVsettings createdFolder

  • 重新安装Docker。

  • Docker在新文件夹中创建了一个新的MobyLinux文件,现在一切正常。