ca9163d9
ca9163d9

Reputation: 29159

Cannot create Windows docker machine? "Hyper-V PowerShell Module is not available"

I just installed docker and tried to create a Windows (not Linux) docker machine but it failed?

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"

I downloaded the newer version of docker-machine (https://github.com/docker/machine/releases/tag/v0.15.0) and a new error occurred.

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/"

Upvotes: 11

Views: 12770

Answers (5)

LuckyBlakc
LuckyBlakc

Reputation: 31

Default Switch is what you need!

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

Upvotes: 2

Nimblejoe
Nimblejoe

Reputation: 1219

I believe that you need to create a network switch in Hyper-V Manager and specify it when you create the machine.

For example, if you create an external switch called external-switch then you can specify it like so when you create your machine.

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

See this link for more information: https://docs.docker.com/machine/drivers/hyper-v

Upvotes: 10

VivekDev
VivekDev

Reputation: 25349

When you run a command like the following to create a docker machine,

docker-machine create --driver hyperv hypervdockermachine

you may end up with the following error.

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/"

Take the following steps for creating the docker machine on windows 10.

Type hyper v on windows search and fire up the Hyper-V Manager

Hyper V Manager on Windows 10

Next click Virtual Switch Manager. Create a new external virtual switch

New Virtual Switch

Crate a new virtual switch

enter details for the new virtual switch

Now run the following command.

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

Note that docker-machine-external-switch is the hyperv-virtual-switch that you just created and hypervdockermachine is the name of the docker-machine that are about to create with the above command

Upvotes: 7

dustytrash
dustytrash

Reputation: 1590

I solved my error by moving my virtual switch from internal network to external network. Not sure why it gives that error on internal:

enter image description here

Upvotes: 0

Kris Wheeler
Kris Wheeler

Reputation: 279

I had the same problem with the message:

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

I solved the problem by opening my Hyper-V Manager and creating my Virtual Switch in the GUI.

Hyper-V Virtual Switch

Running my same command in the command line then succeeded.

Upvotes: 14

Related Questions