Machine: 创建机器时出错:检测操作系统时出错:无法识别操作系统类型

创建于 2016-07-17  ·  15评论  ·  资料来源: docker/machine

你好,
我无法在全新安装的 Windows 64 上创建默认值。
广泛的谷歌搜索对这个话题没有任何帮助。

硬件规格:
华硕 H170-Plus D3、英特尔 G4400(3.3 双核)、14 gig 1333 ddr3、ATI 6800 Eyefinity。
(没有代理的以太网电缆上的互联网。)

软件:
Windows 10 专业版 64 位,全新安装和更新的驱动程序。
Docker for Windows 测试版。 [Docker启动成功]
Docker 工具箱。
风筝
带有 OpenSSH 的 Cygwin。
启用 Hyper-V。
(目前没有安装杀毒软件或防火墙)

Powershell 输出

PS C:\Users\USERNAME> docker-machine create --driver hyperv default
Running pre-create checks...
Creating machine...
(default) Copying C:\Users\USERNAME\.docker\machine\cache\boot2docker.iso to C:\Users\USERNAME\.docker\machine\machines\default\boot2docker.iso...
(default) Creating SSH key...
(default) Creating VM...
(default) Using switch "DockerNAT"
(default) Creating VHD
(default) Starting VM...
(default) Waiting for host to start...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Error creating machine: Error detecting OS: OS type not recognized
PS C:\Users\USERNAME>

脚注
第一次运行 docker 时出现此错误:

Docker daemon is not running
   at Docker.Core.Pipe.NamedPipeClient.TrySend(String action, Object[] parameters)
   at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters)
   at Docker.Core.Backend.BackendClient.Start(Settings settings)
   at Docker.Actions.DoStart(Settings settings, Boolean showWelcomeWindow)
   at Docker.Actions.<ResetToDefault>b__18_0()
   at Docker.Core.TaskQueue.<.ctor>b__16_0()

重新启动后,错误消失,docker 启动时不显示任何错误。

谢谢。

最有用的评论

不,我决定放弃 Windows 并安装 Linux 作为我的主要操作系统,并且没有回头。 祝你好运。

所有15条评论

你能修好吗? 我有同样的错误 Win Server 2012

不,我决定放弃 Windows 并安装 Linux 作为我的主要操作系统,并且没有回头。 祝你好运。

@SplicePHP您需要关注此博客以启用外部开关(例如:Virtual Switch (Main)),然后您的命令将如下所示: docker-machine create --driver hyperv --hyperv-virtual-switch "Virtual Switch (Main)" default

希望它有效。
谢谢。

@Jkaveri
有用。 谢谢!!

有关更多信息,Docker 的默认 Virtual Switch 名为 DockerNat。
我认为这一步的主要目的是通过使用真实的wifi设备来配置docker-machine的外部。
而这个错误的根本原因是docker-machine无法连接boot2docker。

image

我也遇到了同样的问题,这也让我跑步。 谢谢! WIN 10 上的 Docker!

**选择外部网络连接类型时,请确保您指向英特尔千兆网络连接。 我的默认为我的网络适配器,并在我找到它之前调用互联网时导致了一些崩溃。

我在 Windows Server 2016 上遇到了这个错误。最初我很挣扎,因为我没有安装 Hyper-V 管理控制台——只是 Hyper-V 服务本身。 我最终按照@Jkaveri 的说法解决了这个问题,但是通过powershell。 它看起来像这样:

PS C:\WINDOWS\system32> netsh interface ipv4 show interfaces

Idx     Met         MTU          State                Name
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 10          25        1500  disconnected  Wi-Fi
 22          35        1500  connected     Ethernet
 15          25        1500  disconnected  Local Area Connection* 12
 11          15        1500  connected     vEthernet (HNS Internal NIC)
 21          25        1500  connected     VirtualBox Host-Only Network

PS C:\WINDOWS\system32> New-VMSwitch -name ExternalSwitch -NetAdapterName Ethernet -AllowManagementOS $true

Name           SwitchType NetAdapterInterfaceDescription
----           ---------- ------------------------------
ExternalSwitch External   ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter

PS C:\WINDOWS\system32> docker-machine create --driver hyperv --hyperv-virtual-switch "ExternalSwitch" --hyperv-memory 1024 --hyperv-cpu-count 2 linHost
Running pre-create checks...
Creating machine...
(linHost) Copying C:\Users\mrixman\.docker\machine\cache\boot2docker.iso to C:\Users\mrixman\.docker\machine\machines\linHost\boot2docker.iso...
(linHost) Creating SSH key...
(linHost) Creating VM...
(linHost) Using switch "ExternalSwitch"
(linHost) Creating VHD
(linHost) Starting VM...
(linHost) Waiting for host to start...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!

我遇到了同样的问题,,,现在已修复..!!
1.docker-machine create --driver hyperv 默认
预创建检查错误:“未找到 vswitch。必须有有效的 vswitch 才能运行此命令。检查https://docs.docker.com/machine/drivers/hyper-v/

参考@MatrixManAtYrService解决,但WIFI网络断开

C:\WINDOWS\system32>netsh interface ipv4 show interfaces

C:\WINDOWS\system32>New-VMSwitch -name ExternalSwitch -NetAdapterName Ethernet -AllowManagementOS $true

C:\WINDOWS\system32>docker-machine create --driver hyperv --hyperv-virtual-switch "ExternalSwitch" --hyperv-memory 1024 --hyperv-cpu-count 2

窗户废话

我通过 Hyper-V 管理器中的以太网连接连接虚拟交换机解决了这个问题。 通过无线连接导致OS type not recognized错误。 无线信号通过 VPN,所以这可能是导致问题的原因。

创建机器需要多长时间? 它停留在“等待主机启动”

  1. 安装git获取git bash
  2. 从 git bash 运行命令

难以置信,但这就是解决方案

我也遇到过这个问题
我想根本原因是:我没有正确停止 minikube。
因为当我试图阻止它时遇到了以下错误
错误停止主机:minikube:退出状态 1
然后我通过运行来停止它: minikube ssh 和sudo poweroff
然后当我尝试启动 minikube 时,我遇到了无法识别的操作系统类型
我像下面这样修复它:
在 hyper-v 中关闭 minikube vm再次启动 minikube

@Jkaveri
有用。 谢谢!!

有关更多信息,Docker 的默认 Virtual Switch 名为 DockerNat。
我认为这一步的主要目的是通过使用真实的wifi设备来配置docker-machine的外部。
而这个错误的根本原因是docker-machine无法连接boot2docker。

image

那个 extranl 设备是导致这个问题的 wifi 设备吗?

上帝知道发生了什么,我切换虚拟交换机的外部设备,然后将其切换回来。然后工作正常

@Jkaveri
有用。 谢谢!!

有关更多信息,Docker 的默认 Virtual Switch 名为 DockerNat。
我认为这一步的主要目的是通过使用真实的wifi设备来配置docker-machine的外部。
而这个错误的根本原因是docker-machine无法连接boot2docker。

image

@kimcu-on-thenet
想办法。 某些 wifi 设备似乎与 docker-machine 不太兼容。我将外部开关更改为 iphone 以太网提供商,一切正常。

此页面是否有帮助?
0 / 5 - 0 等级