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

ca9*_*3d9 7 windows docker docker-machine docker-for-windows

我刚刚安装了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"
Run Code Online (Sandbox Code Playgroud)

我下载了较新版本的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/"
Run Code Online (Sandbox Code Playgroud)

Nim*_*joe 9

我相信您需要在Hyper-V管理器中创建网络交换机并在创建计算机时指定它.

例如,如果您创建一个名为external-switch的外部交换机,那么您可以在创建计算机时指定它.

docker-machine create --driver hyperv --hyperv-virtual-switch external-switch [机器名]

请看以下链接:https: //docs.docker.com/machine/drivers/hyper-v


小智 8

我对消息有同样的问题:

Error with pre-create check: "vswitch \"My Internal Switch\" not found"
Run Code Online (Sandbox Code Playgroud)

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

Hyper-V虚拟交换机

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


Viv*_*Dev 7

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

docker-machine create --driver hyperv hypervdockermachine
Run Code Online (Sandbox Code Playgroud)

您可能会遇到以下错误。

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/"
Run Code Online (Sandbox Code Playgroud)

请按照以下步骤在 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
Run Code Online (Sandbox Code Playgroud)

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