1 votes

Exécutez docker pour Windows dans une machine virtuelle fonctionnant sur un hôte linux

Je veux exécuter des fichiers exécutables Windows dans un conteneur Docker.

Je ne peux pas exécuter des conteneurs Windows dans Docker Linux:

$ docker run --rm microsoft/nanoserver
Impossible de trouver l'image 'microsoft/nanoserver:latest' en local
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer 
b1b0c61be11f: Pulling fs layer 
docker: l'OS de l'image "windows" ne peut pas être utilisé sur cette plateforme.

J'ai essayé d'exécuter une machine virtuelle Windows 10 et d'y installer Docker pour Windows. L'installation s'est bien déroulée, mais le démarrage de Docker produit cette erreur:

Impossible de démarrer : La commande en cours s'est arrêtée car la variable de préférence "ErrorActionPreference" ou le paramètre commun est défini sur Stop : 'MobyLinuxVM' n'a pas réussi à démarrer.

Échec du démarrage de la machine virtuelle 'MobyLinuxVM' car l'un des composants Hyper-V n'est pas en cours d'exécution.

'MobyLinuxVM' n'a pas réussi à démarrer. (ID de machine virtuelle E8803091-3163-4906-8547-F3422532D501)

Le service de gestion de machines virtuelles n'a pas réussi à démarrer la machine virtuelle 'MobyLinuxVM' car l'un des composants Hyper-V n'est pas en cours d'exécution (ID de machine virtuelle E8803091-3163-4906-8547-F3422532D501).
à Start-MobyLinuxVM, : ligne 300
à , : ligne 395
à Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters) dans C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeClient.cs: ligne 36
à Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean executeAfterStartCleanup) dans C:\gopath\src\github.com\docker\pinata\win\src\Docker.Windows\Actions.cs: ligne 77
à Docker.Actions.<>c__DisplayClass16_0.b__0() dans C:\gopath\src\github.com\docker\pinata\win\src\Docker.Windows\Actions.cs: ligne 61
à Docker.WPF.TaskQueue.<>c__DisplayClass19_0.<.ctor>b__1() dans C:\gopath\src\github.com\docker\pinata\win\src\Docker.WPF\TaskQueue.cs: ligne 59

J'ai vérifié que Hyper-V est bien activé.

Est-il possible d'avoir un hôte Linux exécutant une machine virtuelle Windows exécutant Docker pour exécuter des fichiers exécutables Windows dans un conteneur, ou suis-je en train de faire quelque chose d'impossible?

0voto

Jan Tancibok Points 1

Votre deuxième problème (« MobyLinuxVM » n'a pas démarré) peut être résolu en exécutant cette commande dans powershell, cela m'a aidé. Utilisez powershell 64 / 32 bits selon votre version de Windows. Ensuite, redémarrez.

bcdedit /set hypervisorlaunchtype Auto

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X