Docker on Windows 10 cannot start after manually removing MobyLinuxVM in Hyper-V

At first, the docker works well on my Windows 10 with the official version.

Then I uninstalled MobyLinuxVM in Hyper-V for some reason. After that, the docker cannot work.

Then disable the Hyper-V function and remove the dockers (of course, the computer was restarted).

Then reinstall docker and enable Hyper-V again. But docker still can't work.

I tried some solution in google, but the problem still remains.
I checked MobyLinuxVM status during docker startup and found that MobyLinuxVM is never created.

Can anyone know how to solve?

Here are screenshots and magazines:

/img/7185d41bfd747bb4c4e84954def50554.png

[Version: 1.13.1 (10072) Channel: Stable Sha1: 94675c5a765e2c51fba6c10b87e0a1a4ed3dde51 Started on: 2017/02/23 09:35:27.478 Resources: C:\Program Files\Docker\Docker\Resources OS: Windows 10 Pro Edition: Professional Id: 1511 Build: 10586 BuildLabName: 10586.672.amd64fre.th2_release_sec.161024-1825 File: C:\Users\212599222\AppData\Local\Docker\log.txt CommandLine: "C:\Program Files\Docker\Docker\Docker for Windows.exe" You can send feedback, including this log file, at https://github.com/docker/for-win/issues \[09:35:27.603\]\[GUI \]\[Info \] Starting... \[09:35:28.290\]\[Tracking \]\[Info \] Crash report and usage statistics are enabled \[09:35:28.306\]\[SegmentApi \]\[Info \] Usage statistic: appLaunched \[09:35:28.625\]\[SegmentApi \]\[Error \] Failed to track event appLaunched: An error occurred while sending the request. \[09:35:28.625\]\[NamedPipeClient\]\[Info \] Sending Version()... \[09:35:28.641\]\[NamedPipeClient\]\[Info \] Received response for Version \[09:35:28.641\]\[SegmentApi \]\[Info \] Usage statistic: heartbeat \[09:35:28.641\]\[SegmentApi \]\[Error \] Failed to track event heartbeat: An error occurred while sending the request. \[09:34:34.255\]\[BackendServer \]\[Info \] Started \[09:35:28.641\]\[NamedPipeServer\]\[Info \] Version() \[09:35:28.641\]\[NamedPipeServer\]\[Info \] Version done in 00:00:00. \[09:35:28.841\]\[Updater \]\[Info \] Checking for updates on channel Stable... \[09:35:28.841\]\[NamedPipeClient\]\[Info \] Sending Start(Docker.Core.Settings)... \[09:35:28.858\]\[NamedPipeServer\]\[Info \] Start(Docker.Core.Settings) \[09:35:28.863\]\[UpdateFeedDownloader\]\[Error \] The remote name could not be resolved: 'download.docker.com' \[09:35:28.863\]\[Updater \]\[Info \] No update available \[09:35:28.862\]\[PowerMode \]\[Info \] Stop \[09:35:28.863\]\[HyperV \]\[Info \] Stop \[09:35:28.863\]\[PowerShell \]\[Info \] Run script with parameters: -Stop True... \[09:35:28.863\]\[PowerShell \]\[Info \] Creating a Runspace Pool... \[09:35:29.909\]\[PowerShell \]\[Info \] Runspace Pool created (Min=1, Max=2) \[09:35:29.969\]\[HyperV \]\[Info \] Script started at 09:35:29.964 \[09:35:33.783\]\[HyperV \]\[Info \] Module loaded at 09:35:33.783 \[09:35:33.983\]\[HyperV \]\[Info \] VM MobyLinuxVM does not exist \[09:35:33.983\]\[HyperV \]\[Debug \] \[stop\] took 00:00:05.1195593 to run \[09:35:33.983\]\[OptimizeDisk \]\[Info \] Optimize \[09:35:33.983\]\[PowerShell \]\[Info \] Run script... \[09:35:33.999\]\[Moby \]\[Info \] Stop \[09:35:34.014\]\[HyperVGuids \]\[Info \] Installing GUIDs... \[09:35:34.014\]\[PowerMode \]\[Info \] Start \[09:35:34.014\]\[HyperV \]\[Info \] Create \[09:35:34.014\]\[PowerShell \]\[Info \] Run script with parameters: -Create True -VhdPathOverride -SwitchSubnetAddress 10.0.75.0 -SwitchSubnetMaskSize 24 -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso... \[09:35:34.014\]\[HyperVGuids \]\[Info \] GUIDs installed \[09:35:34.033\]\[HyperV \]\[Info \] Script started at 09:35:34.033 \[09:35:34.036\]\[Firewall \]\[Info \] Removing all existing rules... \[09:35:34.115\]\[HyperV \]\[Info \] Module loaded at 09:35:34.115 \[09:35:34.315\]\[HyperV \]\[Info \] Enabled workaround for Build 10586 VMSwitch issue \[09:35:34.518\]\[Firewall \]\[Info \] All existing rules are removed. \[09:35:34.518\]\[Firewall \]\[Info \] Opening ports for C:\Program Files\Docker\Docker\Resources\com.docker.proxy.exe... \[09:35:35.451\]\[Firewall \]\[Info \] Opening ports for SMB... \[09:35:36.358\]\[Firewall \]\[Info \] Ports are opened \[09:36:31.192\]\[HyperV \]\[Info \] Creating Switch: DockerNAT... \[09:37:26.994\]\[HyperV \]\[Info \] Switch created. \[09:37:28.917\]\[Linux \]\[Error \] Failed to start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists. . Let retry \[09:37:28.917\]\[PowerShell \]\[Info \] Run script... \[09:37:42.595\]\[HyperV \]\[Info \] Hyper-V is running \[09:37:42.595\]\[PowerMode \]\[Info \] Stop \[09:37:42.595\]\[HyperV \]\[Info \] Stop \[09:37:42.596\]\[PowerShell \]\[Info \] Run script with parameters: -Stop True... \[09:37:42.602\]\[HyperV \]\[Info \] Script started at 09:37:42.602 \[09:37:42.707\]\[HyperV \]\[Info \] Module loaded at 09:37:42.707 \[09:37:42.728\]\[HyperV \]\[Info \] VM MobyLinuxVM does not exist \[09:37:42.728\]\[HyperV \]\[Debug \] \[stop\] took 00:00:00.1332364 to run \[09:37:42.728\]\[OptimizeDisk \]\[Info \] Optimize \[09:37:42.728\]\[PowerShell \]\[Info \] Run script... \[09:37:42.744\]\[Moby \]\[Info \] Stop \[09:37:42.752\]\[HyperV \]\[Info \] Destroy \[09:37:42.753\]\[PowerShell \]\[Info \] Run script with parameters: -Destroy True -KeepVolume True... \[09:37:42.761\]\[HyperV \]\[Info \] Script started at 09:37:42.761 \[09:37:42.850\]\[HyperV \]\[Info \] Module loaded at 09:37:42.850 \[09:37:42.864\]\[HyperV \]\[Info \] VM MobyLinuxVM does not exist \[09:37:42.865\]\[HyperV \]\[Info \] Destroying Switch DockerNAT... \[09:38:02.148\]\[HyperV \]\[Info \] Removing VM MobyLinuxVM... \[09:38:02.163\]\[HyperV \]\[Debug \] \[destroy\] took 00:00:19.4109973 to run \[09:38:02.163\]\[Firewall \]\[Info \] Closing ports... \[09:38:02.163\]\[Firewall \]\[Info \] Removing all existing rules... \[09:38:02.335\]\[Firewall \]\[Info \] Removing DockerProxy... \[09:38:02.512\]\[Firewall \]\[Info \] Removed DockerProxy. \[09:38:02.694\]\[Firewall \]\[Info \] Removing DockerSmbMount... \[09:38:02.889\]\[Firewall \]\[Info \] Removed DockerSmbMount. \[09:38:03.050\]\[Firewall \]\[Info \] All existing rules are removed. \[09:38:03.050\]\[Firewall \]\[Info \] Ports are closed \[09:38:03.051\]\[HyperVGuids \]\[Info \] Removing GUIDs... \[09:38:03.056\]\[HyperVGuids \]\[Info \] GUIDs removed \[09:38:03.057\]\[HyperV \]\[Info \] Create \[09:38:03.057\]\[PowerShell \]\[Info \] Run script with parameters: -Create True -VhdPathOverride -SwitchSubnetAddress 10.0.75.0 -SwitchSubnetMaskSize 24 -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso... \[09:38:03.063\]\[HyperV \]\[Info \] Script started at 09:38:03.063 \[09:38:03.122\]\[HyperV \]\[Info \] Module loaded at 09:38:03.122 \[09:38:03.178\]\[HyperV \]\[Info \] Enabled workaround for Build 10586 VMSwitch issue \[09:38:13.824\]\[HyperV \]\[Info \] Creating Switch: DockerNAT... \[09:38:28.719\]\[HyperV \]\[Info \] Switch created. \[09:38:29.134\]\[PowerMode \]\[Info \] Stop \[09:38:29.134\]\[HyperV \]\[Info \] Stop \[09:38:29.135\]\[PowerShell \]\[Info \] Run script with parameters: -Stop True... \[09:38:29.142\]\[HyperV \]\[Info \] Script started at 09:38:29.141 \[09:38:29.223\]\[HyperV \]\[Info \] Module loaded at 09:38:29.223 \[09:38:29.236\]\[HyperV \]\[Info \] VM MobyLinuxVM does not exist \[09:38:29.237\]\[HyperV \]\[Debug \] \[stop\] took 00:00:00.1021625 to run \[09:38:29.237\]\[OptimizeDisk \]\[Info \] Optimize \[09:38:29.237\]\[PowerShell \]\[Info \] Run script... \[09:38:29.247\]\[Moby \]\[Info \] Stop \[09:38:29.253\]\[HyperV \]\[Info \] Destroy \[09:38:29.254\]\[PowerShell \]\[Info \] Run script with parameters: -Destroy True -KeepVolume True... \[09:38:29.262\]\[HyperV \]\[Info \] Script started at 09:38:29.261 \[09:38:29.335\]\[HyperV \]\[Info \] Module loaded at 09:38:29.335 \[09:38:29.347\]\[HyperV \]\[Info \] VM MobyLinuxVM does not exist \[09:38:29.348\]\[HyperV \]\[Info \] Destroying Switch DockerNAT... \[09:38:38.264\]\[HyperV \]\[Info \] Removing VM MobyLinuxVM... \[09:38:38.276\]\[HyperV \]\[Debug \] \[destroy\] took 00:00:09.0233008 to run \[09:38:38.276\]\[Firewall \]\[Info \] Closing ports... \[09:38:38.276\]\[Firewall \]\[Info \] Removing all existing rules... \[09:38:38.488\]\[Firewall \]\[Info \] All existing rules are removed. \[09:38:38.488\]\[Firewall \]\[Info \] Ports are closed \[09:38:38.488\]\[HyperVGuids \]\[Info \] Removing GUIDs... \[09:38:38.488\]\[HyperVGuids \]\[Info \] GUIDs removed \[09:38:38.493\]\[NamedPipeServer\]\[Error \] Unable to execute Start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists. at Docker.Backend.HyperV.RunScript(String action, Dictionary`2 parameters) at Docker.Backend.ContainerEngine.Linux.Start(Settings settings) at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass8_0.<Register>b__0(Object\[\] parameters) at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object\[\] parameters) \[09:38:38.565\]\[NamedPipeClient\]\[Error \] Unable to send Start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists. \[09:38:38.567\]\[Notifications \]\[Error \] Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists. \[09:39:59.534\]\[SegmentApi \]\[Info \] Usage statistic: actionMenuSettings \[09:40:07.295\]\[ErrorReportWindow\]\[Info \] Open logs][1] 
+5
source share
2 answers

The problem is solved! I tried the method that VonC provided, although it still might not work, but I found one thing: when I run the command .\MobyLinux.ps1 -Create , it asks for an error creating VNAT. Then I open the list of network adapters, I find that there is a lot of “disconnected adapter” that is created by Hyper-V (during this time I disconnected and turned on several times, each time it does not recognize the old adapters that docker can). Thus, the adapter that the docker detected does not match the Hyper-V found, and will suggest “the object already exists” and will not create a new one.

Finally, we need to open the device manager and remove unnecessary adapters - after that, the docker successfully started!

Finally, many thanks for the first answer of VonC

+5
source

Then reinstall docker and enable Hyper-V again.

Be sure to enable Hyper-V first (and reboot)

Then reinstall Docker for Windows .
See " What you need to know before installing :

The current version of Docker for Windows runs on 64-bit Windows 10 Pro, Enterprise, and Education (November 1511 update, build 10586 or later).

For Docker for Windows to work, the Hyper-V package must be enabled. If necessary, the Docker for Windows installer will enable it for you.

Your specific error message is reported in docker/for-win issue 248 and before that to number 214

 Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists. 

As noted in this comment and here , try and delete the saved virtual machine and restart.

You must be in C:\Program Files\Docker\Docker\resources to run the commands.
So let me clarify the sequence of commands that you could run:

  • exit the application
  • Stop-Service com.docker.service
  • cd 'C:\Program Files\Docker\Docker\resources'
  • .\MobyLinux.ps1 -Destroy
  • make sure the VHDX file ( C:\Users\Public\Public Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx ) is deleted
  • .\MobyLinux.ps1 -Create
+4
source

Source: https://habr.com/ru/post/1264813/


All Articles