Should Docker for Windows function in a Windows10 VMWare VM

Expected behavior

docker for windows starts

Actual behavior

fails with “cannot get an IP”.

Information

beta 13 and 14, same

In Docker for Windows running in a Windows10 VM under VMWare workstation 12, the iso supplied for MobyTinyLinux doesn’t come up. Never shows any boot sequence, just chews CPU after “not getting an IP”.
This is in a Windows10 VM with Hyper-V enabled and dedicated to DockerForWindows (e.g., no virtualbox --this is a virgin Windows10 professional spun up for this beta). Logged on as a user with administrative rights (edge won’t run from the administrative account).
Hyper-V in the VM works fine (e.g., can spin up and run Ubuntu 64bit from Hyper-V Manager).
VirtualBox and Docker works fine in this type of VM ( Docker quickstart, deploy from vstudio, etc work fine).
Using the Docker VMWare driver talking to VMWare workstation works fine. Docker Quickstart, create/run docker images, VStudio publish and kick off, etc., all fine.

Trying to spin up the Docker for Windows in a Win10 VM , the mobylinux iso never gets to the point where a console window can be seen. It just max’s out the CPU it is allocated. Never gets to the point where a shutdown can be done (HyperV says inappropriate state) and can only power it off.
Try to “naked install” the MobyLinux ISO but cannot (with Hyper-V manager) replicate the hardware configuration that the automatically provisioned MobyLinuxVM (hyper-V doesn’t allow addition of a scsi CD such as the MobyLinuxVM shows attached to the iso file). Maybe some magic/internal assumption in the consumption of the ISO?
In any case trying to use an IDE CD with the iso gets to the point where the Hyper-V VM says there isn’t a valid boot device.

Typical log file says:
[18:12:02.164][NamedPipeServer][Error ] Unable to execute Start: Failed to start VM “MobyLinuxVM”: The VM couldn’t get an IP address after 60 tries at System.Management.Automation.Interpreter.ThrowInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
[18:12:02.184][NamedPipeClient][Error ] Unable to send Start: Failed to start VM “MobyLinuxVM”: The VM couldn’t get an IP address after 60 tries
[18:12:02.191][Notifications ][Error ] Failed to start VM “MobyLinuxVM”: The VM couldn’t get an IP address after 60 tries.

vhdx for MobyLinuxVm never gets above 4MB.

Have tried local bridged and NAT adapters (lots of dialogue on network adapter limitations – tried lots of combos and suggestions).
No obvious problems in the debug log. It shows lots of rx/tx IPv4 and IPv6 activity, so network is there.
Installed latest beta – same non-functional behavior.

Steps to reproduce the behavior

Install docker for windows.

I us VMware fusion and a Windows 10 Pro VM to test Docker for Windows all the time. The VMware VM needs to have nested virtualisation enabled.

You can’t boot the Mobylinux ISO directly either in Hyper-V nor in VMware. it’s designed to be run by the Docker for Windows application. so you have to run the application on windows, which will start a bunch of services and then creates/start a Hyper-V VM.

Rolf

Thanks Rolf.
Glad to know it should work in a VM. I will spin up another Windows10 image for another test. Also will look into what Fusion might bring into the mix (I’m using straight VMWare Workstation 12).
I’ve been using VMs (Linux proper and docker container strippers) inside of VirtualBox inside of both Windows and Linux VMWare VM’s for a while so I think the “nested” aspect is addressed. I’ve been really happy with my “server rack in a desktop”, and lighter weight containers can push this to a whole new level.

Same problem as before “couldn’t get an IP”.
Installed new Win10 VM. Two processors and two cores per, network bridged, 5GMem.
Didn’t touch updates, firewall or anything else in the new Win10, just enabled Hyper-V and installed Docker for Windows.
Same problem as before – startup fails with couldn’t get an IP and MobyLinuxVM chews CPU.

Cut back VMWare VM settings for Win10 to single processor/core and set to NAT. Still fails.
Maybe there are some additional config specifics for VMWare or Win10 that are needed (aside from enabling virtualization – this is done with the checkbox in settings and is properly reflected as “vhv.enable = “TRUE”” in the vmx file)
“diagnose and feedback”: network shows NAT Virtual Switch and 10.0.75.0/255.255.255.0 with an automatic DNS of 8.8.8.8 (?!?)
Pressed “upload diagnostic” and “A diagnostic was uploaded with id: 06ddc89d-beb0-43b3-ac85-d3269f58302f” (actually did that twice).

I’m doing fine with the Docker VMWare driver as well as nested VM’s with VirtualBox so this is mainly wanting to put a Windows native configuration in the inventory.
Thanks.

Few log snips:
Beginning
[12:53:38.548][Program ][Info ] Version 1.11.1-beta14 (build: 3895)
[12:53:38.564][Program ][Info ] Starting on: 6/7/2016 12:53:38 PM
[12:53:38.564][Program ][Info ] Resources: C:\Program Files\Docker\Docker\Resources
[12:53:38.579][Program ][Info ] OS: Windows 10 Pro N
[12:53:38.610][Program ][Info ] Edition: ProfessionalN
[12:53:38.626][Program ][Info ] Id: 1511
[12:53:38.626][Program ][Info ] Build: 10586

End

[13:02:40.798][HyperV ][Info ] Wait for the VM to get an IP address
[13:02:42.252][HyperV ][Info ] Wait for the VM to get an IP address
[13:02:43.268][HyperV ][Info ] Wait for the VM to get an IP address
[13:02:44.318][NamedPipeClient][Error ] Unable to send Start: Failed to start VM “MobyLinuxVM”: The VM couldn’t get an IP address after 60 tries
[13:02:44.305][NamedPipeServer][Error ] Unable to execute Start: Failed to start VM “MobyLinuxVM”: The VM couldn’t get an IP address after 60 tries at System.Management.Automation.Interpreter.ThrowInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
[13:02:44.329][Notifications ][Error ] Failed to start VM “MobyLinuxVM”: The VM couldn’t get an IP address after 60 tries
[13:02:44.348][Program ][Info ] Sending Bugsnag report 35320fa3-b576-4529-b6af-a17f90d2dec1…
[13:02:44.384][Program ][Info ] Bugsnag report 35320fa3-b576-4529-b6af-a17f90d2dec1 sent
[13:02:44.412][NamedPipeClient][Info ] Sending DownloadVmLogs()…
[13:02:44.429][NamedPipeServer][Info ] DownloadVmLogs()
[13:02:44.440][PowerShell ][Info ] Run script…
[13:03:16.242][HyperV ][Warning] Unable to download logs: 2016/06/07 13:03:15 Failed to Dial fa2eef23-1c7b-4681-926e-86cb1c4652c2 445ba2cb-e69b-4912-8b42-d7f494d007ea : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

[13:03:16.252][NamedPipeServer][Info ] DownloadVmLogs done.
[13:03:16.285][NamedPipeClient][Info ] Received response for DownloadVmLogs
[13:03:16.354][NamedPipeClient][Info ] Sending GetVmMaxMemory()…
[13:03:16.365][NamedPipeServer][Info ] GetVmMaxMemory()
[13:03:16.374][PowerShell ][Info ] Run script…
[13:03:19.086][NamedPipeClient][Info ] Received response for GetVmMaxMemory
[13:03:19.070][NamedPipeServer][Info ] GetVmMaxMemory done.
[13:06:00.742][FeedbackSettings][Info ] Open logs
[13:20:47.939][FeedbackSettings][Info ] Upload diagnostic
[13:20:48.969][Program ][Info ] Sending Bugsnag report 06ddc89d-beb0-43b3-ac85-d3269f58302f…
[13:20:49.273][Program ][Info ] Bugsnag report 06ddc89d-beb0-43b3-ac85-d3269f58302f sent
[13:20:49.282][NamedPipeClient][Info ] Sending DownloadVmLogs()…
[13:20:49.286][NamedPipeServer][Info ] DownloadVmLogs()
[13:20:49.292][PowerShell ][Info ] Run script…
[13:20:50.505][HyperV ][Warning] Unable to download logs: 2016/06/07 13:20:50 Failed to Dial fa2eef23-1c7b-4681-926e-86cb1c4652c2 445ba2cb-e69b-4912-8b42-d7f494d007ea : An invalid argument was supplied.

[13:20:50.513][NamedPipeClient][Info ] Received response for DownloadVmLogs
[13:20:50.509][NamedPipeServer][Info ] DownloadVmLogs done.
[13:20:50.528][NamedPipeClient][Info ] Sending GetVmMaxMemory()…
[13:20:50.536][NamedPipeServer][Info ] GetVmMaxMemory()
[13:20:50.539][PowerShell ][Info ] Run script…
[13:20:51.065][NamedPipeClient][Info ] Received response for GetVmMaxMemory
[13:20:51.061][NamedPipeServer][Info ] GetVmMaxMemory done.
[13:29:05.956][FeedbackSettings][Info ] Upload diagnostic
[13:29:06.975][Program ][Info ] Sending Bugsnag report c7d31445-c61c-4052-9401-781f846f7e3a…
[13:29:07.283][Program ][Info ] Bugsnag report c7d31445-c61c-4052-9401-781f846f7e3a sent
[13:29:07.298][NamedPipeClient][Info ] Sending DownloadVmLogs()…
[13:29:07.302][NamedPipeServer][Info ] DownloadVmLogs()
[13:29:07.306][PowerShell ][Info ] Run script…
[13:29:07.686][HyperV ][Warning] Unable to download logs: 2016/06/07 13:29:07 Failed to Dial fa2eef23-1c7b-4681-926e-86cb1c4652c2 445ba2cb-e69b-4912-8b42-d7f494d007ea : An invalid argument was supplied.

[13:29:07.694][NamedPipeClient][Info ] Received response for DownloadVmLogs
[13:29:07.690][NamedPipeServer][Info ] DownloadVmLogs done.
[13:29:07.710][NamedPipeClient][Info ] Sending GetVmMaxMemory()…
[13:29:07.717][NamedPipeServer][Info ] GetVmMaxMemory()
[13:29:07.721][PowerShell ][Info ] Run script…
[13:29:08.259][NamedPipeClient][Info ] Received response for GetVmMaxMemory
[13:29:08.254][NamedPipeServer][Info ] GetVmMaxMemory done.
[13:29:15.588][FeedbackSettings][Info ] Open logs [13:02:44.440][PowerShell ][Info ] Run script…
[13:03:16.242][HyperV ][Warning] Unable to download logs: 2016/06/07 13:03:15 Failed to Dial fa2eef23-1c7b-4681-926e-86cb1c4652c2 445ba2cb-e69b-4912-8b42-d7f494d007ea : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

[13:03:16.252][NamedPipeServer][Info ] DownloadVmLogs done.
[13:03:16.285][NamedPipeClient][Info ] Received response for DownloadVmLogs
[13:03:16.354][NamedPipeClient][Info ] Sending GetVmMaxMemory()…
[13:03:16.365][NamedPipeServer][Info ] GetVmMaxMemory()
[13:03:16.374][PowerShell ][Info ] Run script…
[13:03:19.086][NamedPipeClient][Info ] Received response for GetVmMaxMemory
[13:03:19.070][NamedPipeServer][Info ] GetVmMaxMemory done.
[13:06:00.742][FeedbackSettings][Info ] Open logs

.vmx file below – maybe something might pop out.

.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "12"
numvcpus = "1"
cpuid.coresPerSocket = "1"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsisas1068"
sata0.present = "TRUE"
memsize = "5040"
mem.hotadd = "TRUE"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "S:_VMs\Win10Docker2\Win10Docker2.vmdk"
sata0:1.present = "TRUE"
sata0:1.fileName = "auto detect"
sata0:1.deviceType = "cdrom-raw"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000e"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
ehci.pciSlotNumber = "34"
usb_xhci.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.autodetect = "TRUE"
mks.enable3d = "TRUE"
svga.graphicsMemoryKB = "1048576"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
sensor.accelerometer = "pass-through"
sensor.ambientLight = "pass-through"
sensor.compass = "pass-through"
sensor.gyrometer = "pass-through"
sensor.inclinometer = "pass-through"
sensor.location = "pass-through"
sensor.orientation = "pass-through"
displayName = "Win10Docker2 (chrisjh/Tee#, )"
guestOS = "windows9-64"
nvram = "Win10Docker2.nvram"
virtualHW.productCompatibility = "hosted"
vhv.enable = "TRUE"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
extendedConfigFile = "Win10Docker2.vmxf"
numa.autosize.vcpu.maxPerVirtualNode = "1"
numa.autosize.cookie = "10001"
uuid.bios = "56 4d 35 48 dc 3c 86 99-a9 66 23 da 72 4d 06 75"
uuid.location = "56 4d 35 48 dc 3c 86 99-a9 66 23 da 72 4d 06 75"
migrate.hostlog = ".\Win10Docker2-78337978.hlog"
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "192"
sound.pciSlotNumber = "33"
usb_xhci.pciSlotNumber = "224"
vmci0.pciSlotNumber = "35"
sata0.pciSlotNumber = "36"
scsi0.sasWWID = "50 05 05 68 dc 3c 86 90"
ethernet0.generatedAddress = "00:0C:29:4D:06:75"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1917650549"
vm.genid = "-3175665866157484037"
vm.genidX = "-863053482422425279"
monitor.phys_bits_used = "42"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "75497472"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb_xhci:6.speed = "2"
usb_xhci:6.present = "TRUE"
usb_xhci:6.deviceType = "hub"
usb_xhci:6.port = "6"
usb_xhci:6.parent = "-1"
usb_xhci:7.speed = "4"
usb_xhci:7.present = "TRUE"
usb_xhci:7.deviceType = "hub"
usb_xhci:7.port = "7"
usb_xhci:7.parent = "-1"
sata0:1.autodetect = "TRUE"
svga.guestBackedPrimaryAware = "TRUE"
tools.syncTime = "FALSE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "1"
toolsInstallManager.lastInstallError = "0"
ethernet0.connectionType = "nat"
floppy0.present = "FALSE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"
unity.wasCapable = “TRUE”

Pls see followup below (not sure how thee notifications work). Thanks!!

I’m having the same problem with Docker for Windows in a Windows 10 VM (VMWare Fusion). I tested both the stable and beta versions, and I’ve tried all the suggestions I could find (including http://techbrij.com/docker-hyperv-windows-10-issues); all to no avail. I also saw a comment that suggests it might be fixed in a later release, but that post isn’t specific to VMWare, so not sure if that would solve the issue here.

Did you make any progress with this?

I’m currently falling back to Docker Toolbox, but I would rather use Docker for Windows.

Hi, just for curiosity - have you tried setup promiscuous mode for a network adapter on VMWare hypervisor?

Same issue here. Worked through a number of challenges to get Docker for Windows to spin up inside a Windows 10 client on Workstation 12 Pro, only to get stumped by “The VM couldn’t get an IP address after 60 tries”. Which feels like a silly thing to be stumped by.