Settings: Reset to default quits with Error [resolved]

Steps to reproduce the behavior

  1. Exit docker-desktop
  2. Manually deleted MobyLinuxVM with Hyper-V-Manager
  3. Started docker-desktop -> ok
  4. DD:Settings: [Reset to default] -> Error

Actual behavior

After the above procedure, the Icon is red and I didn’t find a way to return it to “status normal”.
The VM and docker are still ok. docker run -it busybox bin/sh works just fine!
The only way to reset DD icon is to exit and start again.

Expected behavior

IMO there should be a “Status” command, that performs some checks eg:

  • VM status
  • docker version
  • create / start / stop / remove a dummy container
  • If the tests pass set Icon back to normal.

Information

Log:

[11:13:59.617][HyperV         ][Info   ] Hyper-V Windows feature is enabled
[11:13:59.620][PowerShell     ][Info   ] Run script with parameters: -Destroy True...
[11:14:01.607][HyperV         ][Info   ] Removing (potentially) existing mount authentication token
[11:14:02.033][Notifications  ][Error  ] Error: Failed to destroy: Failed to destroy: Fatal error: Failed to destroy VM "MobyLinuxVM" and switch "DockerNAT": Es wurde keine Integrationskomponente mit dem angegebenen Namen gefunden..
Message: Es wurde keine Integrationskomponente mit dem angegebenen Namen gefunden.
[11:14:02.102][PowerShell     ][Info   ] Run script...

Hm, I can’t reproduce the problem. When I delete the VM in hyper-v manager and start Docker anew, Docker re-creates the VM and things are fine. Resetting also works fine.

Hi Mario,

This issue should be fixed in beta6 released yesterday.

David.

hmmm, It got much worse. I’m unable to get it running.

I did:

  • Start the “old” version of docker desktop
  • right click: check for updates
  • update found -> installed it
  • PC needed to be restarted -> I did that
  • manually started docker desktop (since autstart is disabled)
  • error after some minutes.
    • Hyper-V-Manager showed the VM
      • It seemed to perform an PXE boot
      • after some time got an error -> no IP address
      • Hyper-V-Manager actually shows, that the VM has no IP set.
  • Docker: Settings: Reset to factory default
    • no success

It’s not possible to post the log here since there seems to be a 32k limit for the body.

  • So how to go on?

Hm, I know it’s not a particularly good solution, but could you try uninstalling, make sure the VM is gone (in Hyper-V manager), and then re-install beta-6.

We’re working on making the auto-upgrade smoother, sorry about the breakage.

Uninstall - Install didn’t solve the problem.
After uninstall I did have a look in the registry. … Seems to be all clean.
Are there any local settings? lock files? eg: sharing drive C:\ settings, which may brick the system?


Just to be sure: I do have 3 virtual switches.

  • external with connection to the internet.
  • dockerNAT, which docker desktop installed
  • internal switch … used with kitematic, because it’s the first one the system finds
    • this switch has shared internet access with external switch

There should be no “abnormal DHCP” settings. Everything is windows standard.

http://pastebin.com/gER9qPgX … log from the test 6h ago
http://pastebin.com/QhgSuC27 … latest log

latest install log

[21:05:37.525][Installer      ][Info   ] Version: 1.11.0.1288
[21:05:37.548][Installer      ][Info   ] Starting on: 4/6/2016 9:05:37 PM
[21:05:37.549][Installer      ][Info   ] Resources: C:\Program Files\Docker\Docker\Resources
[21:05:37.552][Installer      ][Info   ] OS: Windows 10 Pro
[21:05:37.554][Installer      ][Info   ] Edition: Professional
[21:05:37.555][Installer      ][Info   ] Id: 1511
[21:05:37.557][Installer      ][Info   ] Build: 10586
[21:05:37.559][Installer      ][Info   ] BuildLabName: 10586.162.amd64fre.th2_release_sec.160223-1728
[21:05:37.561][Installer      ][Info   ] Sha1: c97b76ba9aea72a29cb56ffc0de4e142f33a5999
[21:05:37.567][Installer      ][Info   ] Killing processes...
[21:05:37.590][Installer      ][Info   ] Migrating Toolbox user...
[21:05:37.596][Installer      ][Info   ] Toolbox user migration completed successfully
[21:05:37.598][Installer      ][Info   ] Installing Moby...
[21:05:37.600][HyperV         ][Info   ] Creating a virtual machine named MobyLinuxVM
[21:05:37.602][HyperV         ][Info   ] Checking for Hyper-V Windows optional feature
[21:05:37.609][PowerShell     ][Info   ] Run script...
[21:05:38.819][HyperV         ][Info   ] Hyper-V Windows feature is enabled
[21:05:38.823][PowerShell     ][Info   ] Run script with parameters: -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso -create True...
[21:05:40.948][HyperV         ][Info   ] Enabled workaround for Build 10586 VMSwitch issue
[21:05:45.239][HyperV         ][Info   ] Creating Switch: DockerNAT...
[21:05:46.976][HyperV         ][Info   ] Switch created.
[21:05:47.005][HyperV         ][Info   ] Creating Net NAT: DockerNAT...
[21:05:47.029][HyperV         ][Info   ] Net NAT created.
[21:05:47.129][HyperV         ][Info   ] Creading dynamic VHD: D:\VHDs\MobyLinuxVM.vhdx
[21:05:49.402][HyperV         ][Info   ] Creating VM MobyLinuxVM...
[21:05:52.178][HyperV         ][Info   ] VM created.
[21:05:52.186][Installer      ][Info   ] Install completed successfully

@pmario

Kitematic and Docker Toolbox won’t work with Docker for Windows, so I recommend attempting to remove Docker for Windows, Docker Toolbox and all virtual switches and other stuff in hyper-v manager.

Again, really sorry about all the breakage here.

Hi Mario, I noticed this in the logs you kindly provided:

[21:19:38.125][Proxy ][Info ] 2016/04/06 21:19:38 listen udp 10.0.75.1:53: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.

With Beta 6 we are running a DNS proxy on the host which bind to port 53 on the VMSwitch IP address. Running this should enable roaming between different networks, for example.

We try to open the firewall setting for this port, which sometimes fails and then requires the user to allow access by acknowledging a pop-up windows provides.

The above seems to suggest binding to port 53 was blocked.

Do you have an idea why that might be the case?

[of course our code should handle this case more gracefully]

@rneugeba Thx for your info. I think I know now, what was going on. It’s kind of strange, but makes sense now.
I try to describe the steps involved, so you may be able to reproduce the problem:

I started with the following setting:

  • external switch (physical card … 10.x.x.x address space
  • internal switch … manually created for testing -> but not used … windows assigned 169.x.x.x address
  • dockerNAT … 10.0.75.1

-> everything works fine.
-> firewall is silent

I enabled the internal switch for some tests with kitematic.
To get internet access I did set the “external switch” to share internet access with it.

-> now the internal switch gets 192.x.x.x address space
-> everything works fine.
-> all kitematic VMs shut down

Now docker desktop is started

-> DD has a problem now it doesn’t get an IP address
-> Hyper-V-Manager: Network status shows no ip
-> UDP bind fails. IMO windows needs it for the internal switch and blocks access

  • right click docker icon
  • Exit docker -----> Firewall rule pops up with the default settings.
    • com.docker.proxy.exe wants to modify …
    • I did use the default settings and allowed access
    • default is enable private network, disable public networks

-> firewall rules are set now and kind of hard for users to get rid of them :confused: And they seem to block us from now on

-> Removing the “internal switch” doesn’t solve the problem
-> Reset to factory settings doesn’t solve the problem

-> Removing the firewall rules get’s us going again \o/

have fun!

I think there was an issue with the upgrade from earlier beta versions, and when you uninstall, certain artifacts (such as the VM, the switch and some reserved IP addresses) are left behind that prevent a clean reinstallation.

I managed to resolve the problem after a bit of head-scratching, and trial and error. Here are the steps I eventually used

  • Uninstall Docker for Windows
  • Hyper-V Manager: Delete MobyLinux VM and DockerNAT virtual switch
  • (I originally reinstalled DfW at this point, but hit problems with NetIP addresses already existing, so…)
  • PowerShell: Get-NetIpAddress to list pre-assigned IP addresses
  • PowerShell: Remove-NetIpAddress 10.0.75.1 and any others with DockerNAT in the description
  • Install Docker for Windows 1.11.0.1692
  • Launch Docker and, well, it works on my machine :slight_smile:

You are probably right. … I did encounter the problems the first time I did the automatic update. … As I wrote, for me in the end the firewall rules where the problem.

The latest auto-update worked fine for me.