Red whale icon
Docker fail to initialize with Failed to create Switch “DockerNAT”: No MSFT_NetAdapter objects
Information
the output of:
Steps to reproduce the behavior
[19:06:41.454][Program ][Info ] Starting on: 5/11/2016 7:06:41 PM
[19:06:41.454][Program ][Info ] Resources: C:\Program Files\Docker\Docker\Resources
[19:06:41.470][Program ][Info ] OS: Windows 10 Pro Insider Preview
[19:06:41.470][Program ][Info ] Edition: Professional
[19:06:41.470][Program ][Info ] Id: 1511
[19:06:41.470][Program ][Info ] Build: 14342
[19:06:41.470][Program ][Info ] BuildLabName: 14342.1000.amd64fre.rs1_release.160506-1708
[19:06:41.470][Program ][Info ] Mixpanel Id: 16375be8-a558-4c2c-b96d-88d3fb70cbaf
[19:06:41.485][Program ][Info ] Sha1: b0bc231ec0337a84cc1ce50f51df77f9b0f5c993
[19:06:41.485][Program ][Info ] You can send feedback, including this log file, at https://forums.docker.com/c/docker-for-windows
[19:06:41.601][Mixpanel ][Info ] Tracking: appLaunched
[19:06:41.917][Mixpanel ][Info ] Tracking: heartbeat
[19:06:41.917][BackendServer ][Info ] Started
[19:06:41.971][NamedPipeClient][Info ] Sending Version()…
[19:06:41.971][NamedPipeServer][Info ] Version()
[19:06:41.971][NamedPipeServer][Info ] Version done.
[19:06:41.986][NamedPipeClient][Info ] Received response for Version: Version 1.11.1-beta11 (build: 2789)
[19:06:41.986][NamedPipeClient][Info ] Sending CheckInstallation()…
[19:06:41.986][NamedPipeServer][Info ] CheckInstallation()
[19:06:41.986][HyperV ][Info ] Check Hyper-V Windows optional feature
[19:06:41.986][PowerShell ][Info ] Run script…
[19:06:42.656][HyperV ][Info ] Hyper-V Windows feature is enabled
[19:06:42.656][NamedPipeServer][Info ] CheckInstallation done.
[19:06:42.656][NamedPipeClient][Info ] Received response for CheckInstallation:
[19:06:42.672][NamedPipeClient][Info ] Sending CheckHyperVState()…
[19:06:42.672][NamedPipeServer][Info ] CheckHyperVState()
[19:06:42.672][HyperV ][Info ] Check Hyper-V Service State
[19:06:42.672][PowerShell ][Info ] Run script with parameters: -Check True…
[19:06:45.337][HyperV ][Info ] Hyper-V is running and responding
[19:06:45.337][HyperV ][Info ] Hyper-V is running
[19:06:45.337][NamedPipeServer][Info ] CheckHyperVState done.
[19:06:45.337][NamedPipeClient][Info ] Received response for CheckHyperVState:
[19:06:45.422][Authentication ][Info ] Checking token
[19:06:45.459][Authentication ][Info ] Token is valid
[19:06:45.560][Updater ][Info ] Checking for updates on the Beta channel…
[19:06:45.560][Notifications ][Info ] Docker is Initializing…
[19:06:45.575][NamedPipeClient][Info ] Sending Stop()…
[19:06:45.591][NamedPipeServer][Info ] Stop()
[19:06:45.591][HyperV ][Info ] Stop
[19:06:45.591][PowerShell ][Info ] Run script with parameters: -Stop True…
[19:06:45.722][HyperV ][Info ] VM MobyLinuxVM does not exist
[19:06:45.722][Firewall ][Info ] Closing ports…
[19:06:45.722][PowerShell ][Info ] Run script…
[19:06:46.638][Firewall ][Info ] Ports are closed
[19:06:46.641][NamedPipeServer][Info ] Stop done.
[19:06:46.643][NamedPipeClient][Info ] Received response for Stop:
[19:06:46.647][NamedPipeClient][Info ] Sending Start(2, 2048)…
[19:06:46.649][NamedPipeServer][Info ] Start(2, 2048)
[19:06:46.653][Firewall ][Info ] Opening ports for C:\Program Files\Docker\Docker\Resources\com.docker.proxy.exe and C:\Program Files\Docker\Docker\DockerForWindows.exe…
[19:06:46.656][PowerShell ][Info ] Run script…
[19:06:47.079][Updater ][Info ] Found remote version. Version = 1.11.1.2789
[19:06:47.082][Updater ][Info ] Local version is up to date.
[19:06:47.086][Updater ][Info ] Check for update done.
[19:06:47.617][Firewall ][Info ] Ports are opened
[19:06:47.620][HyperV ][Info ] Create
[19:06:47.623][PowerShell ][Info ] Run script with parameters: -Create True -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso…
[19:06:47.792][HyperV ][Info ] Using existing Switch: DockerNAT
[19:06:47.824][NamedPipeServer][Error ] Unable to executeStart: Failed to create Switch “DockerNAT”: No MSFT_NetAdapter objects found with property ‘Name’ equal to ‘vEthernet (DockerNAT)’. Verify the value of the property and retry.
[19:06:47.828][NamedPipeClient][Error ] Unable to sending Start: Failed to create Switch “DockerNAT”: No MSFT_NetAdapter objects found with property ‘Name’ equal to ‘vEthernet (DockerNAT)’. Verify the value of the property and retry.
[19:06:47.833][Notifications ][Error ] Error: Failed to create Switch “DockerNAT”: No MSFT_NetAdapter objects found with property ‘Name’ equal to ‘vEthernet (DockerNAT)’. Verify the value of the property and retry.
[19:06:56.430][Program ][Info ] Sending Bugsnag report 5435443e-d3b3-47ce-9ebc-036f056e70b4 …
[19:06:58.734][Program ][Info ] Bugsnag report sent
I have exactly the same problem since my Windows 10 Insider Preview updated itself to build 14342. Unfortunately the suggestion given by @thariman does not solve it for me.
@jmeijrink After you delete all the vswitch. Make sure when you run
Get-NetAdapter “vEthernet*” return empty.
Then you can re create ext switch and reinstall docker.
On my case when it updated to 14342 the ext vswitch is connected to some hyperv interface.
Doesn’t help to me as well.
It because it always creates vEthernet (DockerNAT) 2 and I can’t rename it to vEthernet (DockerNAT)
Because the name already exists.
I’ve removed all vEthernet (DockerNAT) network connections, reboot system.
Search trough the registry didn’t find any vEthernet or DockerNAT strings.
But Hyper-V still creates vEthernet (DockerNAT) 2 instead of vEthernet (DockerNAT).
I have no idea how to fix it
When I modify MobyLinux.ps1 to search for vEthernet ($SwitchName) 2 it starts to fail on DCHP because it still search for vEthernet ($SwitchName)
There is no any other vEthernet
If I create switch with name Switch for example then ethernet vEthernet (Switch) will be create.
And after rename the switch from Switch to DockerNAT then ethernet name became vEthernet (DockerNat) 2
DockerNAT Internal
Ext External Marvell AVASTAR Wireless-AC Network Controller
Ext2 External Realtek USB GbE Family Controller
PS C:\Program Files\Docker\Docker\resources>
`
Last time when I have the DockerNat issue is when one of the external SwitchType pointing to non existing physical interface/controller right after I update to build 14342.
Try adding external switch map to Ethernet. Which you may need if you want to run VM to have access to the internet without using NAT.
I also notice you probably have VMware workstation installed; I haven’t reinstall mine yet since you have to turn off hyper-v to run VMware.
The last think that I tried but give another issue is to modify
C:\Program Files\Docker\Docker\resources\MobiLinux.ps1 line 175 from
which will continue without the error but it may have a different error.
You can also try to destroy the switch using MobilLinux.ps1 -Destroy
and reinstall.
@russlescai: Sorry but issue is start happens after updating to Windows 10 insider build 14342, so I think discussion is still related, with the same error log.
@thariman: I’ve tried to change this code to “vEthernet (DockerNAT) 2” yesterday, and I’ve just tried with *:
[19:46:27.600][HyperV ][Info ] VM MobyLinuxVM does not exist
[19:46:27.606][Firewall ][Info ] Closing ports...
[19:46:27.608][PowerShell ][Info ] Run script...
[19:46:28.542][Firewall ][Info ] Ports are closed
[19:46:28.544][NamedPipeServer][Info ] Stop done.
[19:46:28.546][NamedPipeClient][Info ] Received response for Stop:
[19:46:28.548][NamedPipeClient][Info ] Sending Start(2, 2048)...
[19:46:28.550][NamedPipeServer][Info ] Start(2, 2048)
[19:46:28.552][Firewall ][Info ] Opening ports for C:\Program Files\Docker\Docker\Resources\com.docker.proxy.exe and C:\Program Files\Docker\Docker\DockerForWindows.exe...
[19:46:28.554][PowerShell ][Info ] Run script...
[19:46:28.839][Updater ][Info ] Found remote version. Version = 1.11.1.2789
[19:46:28.842][Updater ][Info ] Local version is up to date.
[19:46:28.844][Updater ][Info ] Check for update done.
[19:46:29.561][Firewall ][Info ] Ports are opened
[19:46:29.564][HyperV ][Info ] Create
[19:46:29.566][PowerShell ][Info ] Run script with parameters: -Create True -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso...
[19:46:29.679][HyperV ][Info ] Creating Switch: DockerNAT...
[19:46:30.238][HyperV ][Info ] Switch created.
[19:46:30.391][HyperV ][Info ] Set IP address on switch
[19:46:30.429][HyperV ][Info ] Using existing Net NAT: DockerNAT
[19:46:31.560][HyperV ][Info ] VHD C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\MobyLinuxVM.vhdx already exists
[19:46:31.642][HyperV ][Info ] Creating VM MobyLinuxVM...
[19:46:33.068][HyperV ][Info ] VM created.
[19:46:33.076][Dhcp ][Info ] Dhcp starting on port 67, on interface vEthernet (DockerNAT)...
[19:46:33.101][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:33.604][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:34.107][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:34.610][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:35.113][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:35.616][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:36.119][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:36.623][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:37.126][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
Parameter name: address. Will retry.
[19:46:37.628][NamedPipeServer][Error ] Unable to executeStart: Value cannot be null.
Parameter name: address
[19:46:37.631][NamedPipeClient][Error ] Unable to sending Start: Value cannot be null.
Parameter name: address
[19:46:37.634][Notifications ][Error ] Error: Value cannot be null.
Parameter name: address
Now I think that DHCP is trying to find vEthernet (DockerNAT)
@thariman, I removed all Hyper-v ethernet adapters, also tried it with showing hidden adapters in device manager, but no matter what I do, if I create a first switch in Hyper-V manually. It always creates Hyper-V Virtual Ethernet Adapter #2 (So it always adds #2, while the one without #2 is not showing up in any way). Also the Ethernet adapter created in Network Connections always shows ‘vEthernet (DockerNAT) 2’, if I try to rename that to ‘vEthernet (DockerNAT)’ it says that an adapter with that name already exists. But also this is not true, I even tried removing all registry entries that match ‘vEthernet (DockerNAT)’, but after that I still had no success.
Name InterfaceDescription
vEthernet (DockerNAT) 2 Hyper-V Virtual Ethernet Adapter #2
Bluetooth Network Connection Bluetooth Device (Personal Area Network)
Wi-Fi Intel® Dual Band Wireless-AC 7260
Ethernet 10 VirtualBox Host-Only Ethernet Adapter #2
Ethernet 8 VirtualBox Host-Only Ethernet Adapter
Ethernet 2 TAP-Windows Adapter V9
Addition:
I think this should be fixed by the Docker team, to detect what the actual name is of the adapter created, and use that later on. It now seems that ‘vEthernet (DcokerNAT)’ is hardcoded and that is the only reason it does not work.
@thariman, I was just re-reading all the posts and saw that you mentioned MobyLinux.ps1, and it seems that inside there is a variable for SwitchName.
First after that I got the following error in the logs:
[15:29:37.941][PowerShell ][Info ] Run script with parameters: -Create True -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso…
[15:29:38.093][HyperV ][Info ] Creating Switch: DockerNAT2…
[15:29:38.923][HyperV ][Info ] Switch created.
[15:29:39.092][HyperV ][Info ] Set IP address on switch
[15:29:39.105][HyperV ][Info ] Creating Net NAT: DockerNAT2…
[15:29:39.133][HyperV ][Info ] Net NAT created.
[15:29:40.212][HyperV ][Info ] Creading dynamic VHD: C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\MobyLinuxVM.vhdx
[15:29:41.295][HyperV ][Info ] Creating VM MobyLinuxVM…
[15:29:43.125][HyperV ][Info ] VM created.
[15:29:43.134][Dhcp ][Info ] Dhcp starting on port 67, on interface vEthernet (DockerNAT)…
[15:29:43.211][Dhcp ][Error ] Unable to start the dhcp server: Value cannot be null.
As you see the it is trying the wrong interface, based on the name DockerNAT, I can’t find any new reference to that.
after booting this morning (duh, first reboot after making registry changes!) I can rename the network adapter to ‘vEthernet (DockerNAT)’ again, unfortunately a new error pops up:
[08:43:58.927][HyperV ][Info ] Creating Switch: DockerNAT…
[08:43:59.844][HyperV ][Info ] Switch created.
[08:44:00.038][HyperV ][Info ] Set IP address on switch
[08:44:00.066][HyperV ][Info ] Creating Net NAT: DockerNAT…
[08:44:00.107][NamedPipeClient][Error ] Unable to send Start: Failed to create Switch “DockerNAT”: The parameter is incorrect.
[08:44:00.108][Notifications ][Error ] Failed to create Switch “DockerNAT”: The parameter is incorrect.
I’ll be investigating it further and let know if I find out anything more.