Generated docker machine: Certificates are IPv4 but URL is IPv6

Hi

I’m following the getting-started guide at https://docs.docker.com/get-started and I stumble over my first problem in part 4 when trying to create a new VM via the command
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1

The command finally timeouts when waiting for SSH to be available.

When checking the docker machines (with docker-machines ls), I can see that the URL of the machine is IPv6. The error field shows that it cannot query the docker version though, because the x509 certificate is valid for 127.0.0.1 (IPv4), whereas the machines IP is IPv6.

I’ve tried to re-generate the certificates, but this does not help. And yes, I did create a new switch first in the Hyper-V Manager and set it to ‘external’.

I’ve checked the properties of the generated vEthernet connection and noticed that both IPv4 and IPv6 are enabled. Unfortunately I cannot turn off the IPv6 on this connection - I assume this is because I’m not a local admin on “my” machine…

Is there any way to tell Docker to create certificates for IPv6 instead of IPv4? Or any other ideas I could try? Thanks!

Cheers
Daniel

I’m using:

  • Docker version 18.06.1-ce, build e68fc7a
  • Windows 10 Enterprise

Hi,

I’ve come across this too.
A workaround is to use the docker-machine –native-ssh switch to get past the “waiting for SSH to be available” timeout.
So your command will be
docker-machine –native-ssh create -d hyperv --hyperv-virtual-switch “myswitch” myvm1

You’ll also need to use that switch when starting (from stopped) or restarting the machine.

Cheers