Führen Sie das Andockfenster für Windows in einer VM aus, die auf einem Linux-Host ausgeführt wird

442
Stephen

Ich möchte ausführbare Dateien von Windows in einem Docker-Container ausführen.

Ich kann Windows-Container nicht in Linux Docker ausführen:

$ docker run --rm microsoft/nanoserver Unable to find image 'microsoft/nanoserver:latest' locally latest: Pulling from microsoft/nanoserver bce2fbc256ea: Pulling fs layer  b1b0c61be11f: Pulling fs layer  docker: image operating system "windows" cannot be used on this platform. 

Ich habe versucht, eine Windows 10-VM auszuführen und das Andockfenster für Windows dort zu installieren. Die Installation ist gut verlaufen, aber das Starten des Dockers führt zu diesem Fehler:

Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to start.  Failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running.  'MobyLinuxVM' failed to start. (Virtual machine ID E8803091-3163-4906-8547-F3422532D501)  The Virtual Machine Management Service failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running (Virtual machine ID E8803091-3163-4906-8547-F3422532D501). at Start-MobyLinuxVM, <No file>: line 300 at <ScriptBlock>, <No file>: line 395 at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeClient.cs:line 36 at Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean executeAfterStartCleanup) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Windows\Actions.cs:line 77 at Docker.Actions.<>c__DisplayClass16_0.<Start>b__0() in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Windows\Actions.cs:line 61 at Docker.WPF.TaskQueue.<>c__DisplayClass19_0.<.ctor>b__1() in C:\gopath\src\github.com\docker\pinata\win\src\Docker.WPF\TaskQueue.cs:line 59 

Ich habe bestätigt, dass Hyper-V tatsächlich aktiviert ist.

Ist es möglich, einen Linux-Host mit einer Windows-VM zu betreiben, auf der Docker ausgeführt wird, um ausführbare Windows-Dateien in einem Container auszuführen, oder versuche ich, etwas Unmögliches zu tun?

1

1 Antwort auf die Frage

0
Jan Tancibok

Ihr zweites Problem ('MobyLinuxVM' konnte nicht gestartet werden) kann durch Ausführen dieses Befehls in Powershell gelöst werden, es hat mir geholfen. Verwenden Sie eine 64/32-Bit-Powershell wie Ihr Fenster. Dann neu starten.

bcdedit /set hypervisorlaunchtype Auto 

souce ( https://forums.docker.com/t/mobylinuxvm-failed-to-start/15175/7 )