繁体   English   中英

无法创建 Windows docker 机器? “Hyper-V PowerShell 模块不可用”

[英]Cannot create Windows docker machine? “Hyper-V PowerShell Module is not available”

我刚刚安装了 docker 并尝试创建一个 Windows(不是 Linux)docker 机器,但它失败了?

PS C:\> docker-machine.exe create --driver hyperv default
Creating CA: C:\Users\...\.docker\machine\certs\ca.pem
Creating client certificate: C:\Users\...\.docker\machine\certs\cert.pem
Running pre-create checks...
Error with pre-create check: "Hyper-V PowerShell Module is not available"

我下载了较新版本的docker-machine ( https://github.com/docker/machine/releases/tag/v0.15.0 ) 并出现了新错误。

PS C:\> .\bin\docker-machine-Windows-x86_64.exe create --driver hyperv default
Running pre-create checks...
Error with pre-create check: "no External vswitch found. A valid vswitch must be available for this command to run. Check https://docs.docker.com/machine/drivers/hyper-v/"

我对消息有同样的问题:

Error with pre-create check: "vswitch \"My Internal Switch\" not found"

我通过打开我的 Hyper-V 管理器并在 GUI 中创建我的虚拟交换机解决了这个问题。

Hyper-V 虚拟交换机

在命令行中运行我的相同命令然后成功。

我相信你需要在Hyper-V Manager中创建一个网络交换机并在创建机器时指定它。

例如,如果您创建一个名为 external-switch 的外部开关,那么您可以在创建机器时像这样指定它。

docker-machine create --driver hyperv --hyperv-virtual-switch external-switch [Machine Name]

有关更多信息,请参阅此链接: https : //docs.docker.com/machine/drivers/hyper-v

当您运行如下命令来创建 docker 机器时,

docker-machine create --driver hyperv hypervdockermachine

您最终可能会遇到以下错误。

Error with pre-create check: "no External vswitch found. A valid vswitch must be available for this command to run. Check https://docs.docker.com/machine/drivers/hyper-v/"

按照以下步骤在 Windows 10 上创建 docker 机器。

在 Windows 搜索中键入 hyper v 并启动 Hyper-V 管理器

Windows 10 上的 Hyper V 管理器

接下来单击虚拟交换机管理器。 创建一个新的外部虚拟交换机

新的虚拟交换机

创建一个新的虚拟交换机

输入新虚拟交换机的详细信息

现在运行以下命令。

docker-machine create --driver hyperv --hyperv-virtual-switch docker-machine-external-switch hypervdockermachine

请注意,docker-machine-external-switch 是您刚刚创建的 hyperv-virtual-switch,而 hypervdockermachine 是即将使用上述命令创建的 docker-machine 的名称

我通过将虚拟交换机从internal network移动到external network解决了我的错误。 不知道为什么它会在内部出现该错误:

在此处输入图片说明

Default Switch是您所需要的!

docker-machine create --driver hyperv --hyperv-virtual-switch "Default Switch" node1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM