web-dev-qa-db-fra.com

Comment redémarrer le processus Docker pour Windows dans PowerShell?

Je veux redémarrer docker for windows en PowerShell.

tout comme je peux le faire avec une seule commande dans PowerShell.

enter image description here

Puis-je l'implémenter?

Lors de l'utilisation de Restart-Service *docker*:

enter image description here

9
pwxcoo

Tuez et redémarrez le processus de docker:

$processes = Get-Process "*docker desktop*"
if ($processes.Count -gt 0)
{
    $processes[0].Kill()
    $processes[0].WaitForExit()
}
Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe"

Dans la clause if, je vérifie si un processus docker en cours d'exécution a été trouvé. Il ne devrait jamais y avoir plus d'une instance de "Docker Desktop" en cours d'exécution, vous pouvez donc tuer la première de la liste.

Pour redémarrer, vous devez connaître le chemin complet du fichier "Docker Desktop.exe" sur votre ordinateur.

7
eddex

Vous pouvez utiliser dans powershell:

restart-service *docker*

Ou dans le Docker QuickStart Terminal:

docker-machine restart
1
mlameiras

Similaire au commentaire de Sebastian L ci-dessus, mais légèrement plus propre et plus rapide si vous savez si vous utilisez actuellement des conteneurs Linux ou Windows.

Si vous exécutez des conteneurs Linux

    Stop-Service *docker*        
    Start-Service *docker*
    &$Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchLinuxEngine

Si vous exécutez des conteneurs Windows

    Stop-Service *docker*        
    Start-Service *docker*
    &$Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchWindowsEngine

-SwitchDaemon bascule de l'un à l'autre (Linux vers Windows ou Windows vers Linux), c'est pourquoi vous devez le faire deux fois.

0
DotNetNinja