使用Minikube的Docker中的Hyper-v和VirtualBox冲突

时间:2018-08-22 18:47:10

标签: docker kubernetes virtualbox hyper-v minikube

我正在尝试在Windows 10企业版上使用Minikube扩展Docker容器。但是,我遇到了与Hyper-V和VirtualBox的一些冲突。我知道Docker需要Hyper-V才能正常运行,而Minikube需要VirtualBox才能运行(如果启用了Hyper-V,则会显示错误)

C:\WINDOWS\system32>minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
160.27 MB / 160.27 MB [============================================] 100.00% 
0s
E0822 11:42:07.898412   13028 start.go:174] Error starting host: Error 
creating host: Error executing step: Running precreate checks.
: This computer is running Hyper-V. VirtualBox won't boot a 64bits VM when 
Hyper-V is activated. Either use Hyper-V as a driver, or disable the Hyper-V 
hypervisor. (To skip this check, use --virtualbox-no-vtx-check).

如果禁用Hyper-V,则可以正确启动minikube,但Docker无法正常工作,并显示启用Hyper-V的错误。

我也尝试使用Hyper-V驱动程序运行minikube,但也出现此错误:

C:\WINDOWS\system32>minikube start --vm-driver hyperv
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
E0822 11:44:32.323877   13120 start.go:174] Error starting host: Error 
creating host: Error executing step: Running precreate checks.
: no External vswitch found. A valid vswitch must be available for this 
command to run. Check https://docs.docker.com/machine/drivers/hyper-v/.

有什么解决办法吗?

2 个答案:

答案 0 :(得分:4)

  

我也尝试使用Hyper-V驱动程序运行minikube,但也出现此错误:

在他们的文档中有关于HyperV和vswitch情况的明确警告:https://github.com/kubernetes/minikube/blob/v0.28.2/docs/drivers.md#hyperv-driver

尽管在minikube的辩护中,它也确实说到最后,即正确,该URL应该是为了阅读有关应该提供的--hyperv-virtual-switch标志的信息除了--vm-driver=hyperv

导航到该链接的泊坞窗页面,它甚至提供了有关如何完成此操作的分屏截图示例。

答案 1 :(得分:0)

下一步解决了我的问题:

> minikube start --vm-driver=hyperv -v 9999

如果还有其他错误

  

错误:[HYPERV_NO_VSWITCH]创建:预先创建:未找到外部vswitch。有效的vswitch必须可用,此命令才能运行

只需手动创建一个开关即可。

enter image description here