Docker på Windows 10 kan ikke starte efter at man har fjernet MobyLinuxVM i Hyper-V manuelt

Indlæg af Hanne Mølgaard Plasc

Problem



Først fungerer dockeren godt på min Windows 10 med officiel version.


Så fjernede jeg MobyLinuxVM i Hyper-V af en eller anden grund. Derefter kan dockeren ikke arbejde.


Så slukker jeg for funktionen i Hyper-V og afinstallerer docker (selvfølgelig blev computeren genstartet).


Derefter geninstallerer jeg dockeren og tænder funktionen til Hyper-V igen. Men dockeren kan stadig ikke arbejde.


Jeg har prøvet nogle løsninger på google, men problemet er stadig.

Jeg har kontrolleret MobyLinuxVM'ens status under opstart af dockeren og fundet MobyLinuxVM er aldrig oprettet.


Kan nogen vide, hvordan man skal løse?


Her er skærmbilledet og logfilerne:


https://i.stack.imgur.com/8GbLw.png [11]


[Version: 1.13.1 (10072)
Channel: Stable
Sha1: 94675c5a765e2c51fba6c10b87e0a1a4ed3dde51
Started on: 2017/02/23 09:35:27.478
Resources: C:Program FilesDockerDockerResources
OS: Windows 10 Pro
Edition: Professional
Id: 1511
Build: 10586
BuildLabName: 10586.672.amd64fre.th2\_release\_sec.161024-1825
File: C:Users212599222AppDataLocalDockerlog.txt
CommandLine: "C:Program FilesDockerDockerDocker 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 FilesDockerDockerResourcesmobylinux.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 FilesDockerDockerResourcescom.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's 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 FilesDockerDockerResourcesmobylinux.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]

Bedste reference



  Derefter geninstallerer jeg dockeren og tænder funktionen til Hyper-V igen.



Sørg for at tænde for Hyper-V-funktionen først (og genstart)


Derefter geninstallerer Docker til Windows.

Se 'Hvad skal du vide, før du installerer': [12] [13]



  Den nuværende version af Docker til Windows kører på 64 bit Windows 10 Pro, Enterprise og Education (opdatering 1511, Build 10586 eller senere).

  
  Hyper-V-pakken skal være aktiveret for Docker for Windows til at fungere. Docker til Windows installationsprogrammet aktiverer det for dig, hvis det er nødvendigt.



Din særlige fejlmeddelelse er rapporteret i docker/for-win issue 248 og før det i udgave 214 [14] [15]


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


Som bemærket i denne kommentar og her, prøv og slet den gemte VM og genstart. [16] [17]



  du skal være i C:Program FilesDockerDocker esources for at køre kommandoerne.

  Så lad mig forbedre rækkefølgen af ​​kommandoer, som du kunne køre:




  • Afslut programmet

  • Stop-Service com.docker.service

  • cd 'C:Program FilesDockerDocker esources'

  • .MobyLinux.ps1 -Destroy

  • Kontroller, at VHDX-filen (C:UsersPublicPublic DocumentsHyper-VVirtual hard disksMobyLinuxVM.vhdx) fjernes

  • .MobyLinux.ps1 -Create


Andre referencer 1


Problem løst!!
Jeg forsøgte den metode, som VonC leverede, men det kan stadig ikke virke, men jeg fandt en ting, at mens jeg kører kommandoen .MobyLinux.ps1 -Create, beder den om, at VNAT-skabelsesfejlen. Så åbner jeg netværksadapterlisten, fandt, at der er mange 'frakoblede adaptere', der er skabt af Hyper-V (I denne tid har jeg slukket og tænder flere gange, hver gang den vandt 'ikke genkender de ældre adaptere, som docker kan). Så adapteren, som docker fundet ikke matcher som Hyper-V fundet, og vil bede om 'objekt eksisterer allerede' og vil ikke skabe nyt.


Endelig er det, vi skal gøre, at åbne enhedsadministratoren og slet de unødvendige adaptere - så startede dockeren succes!


Endelig, tak for det første svar fra VonC

Andre referencer 2


Det understøtter ikke mellemrum på din vej til hyperV-enhed.

Du skal konfigurere en sti uden mellemrum på din HyperV-konfiguration.