web-dev-qa-db-ja.com

PowerShellでWindowsプロセスのDockerを再起動するにはどうすればよいですか?

PowerShellでdocker for windowsを再起動したい。

powershellの1つのコマンドで実行できるように。

enter image description here

実装してもいいですか?

Restart-Service *docker*を使用する場合:

enter image description here

9
pwxcoo

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"

if句で、実行中のDockerプロセスが見つかったかどうかを確認します。リスト内の最初のインスタンスを強制終了できるように、実行中の「Dockerデスクトップ」のインスタンスが1つを超えることはありません。

再起動するには、コンピュータ上の「Docker Desktop.exe」ファイルの完全なパスを知っている必要があります。

7
eddex

あなたはpowershellで使うことができます:

restart-service *docker*

または、Docker QuickStartターミナルをintします。

docker-machine restart
1
mlameiras

上記のSebastian Lのコメントに似ていますが、現在LinuxコンテナとWindowsコンテナのどちらを実行しているかがわかっている場合は、少しクリーンで高速です。

Linuxコンテナを実行している場合

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

Windowsコンテナを実行している場合

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

-SwitchDaemonは、1つからもう1つに切り替えます(LinuxからWindowsまたはWindowsからLinux)。これが、2度行う必要がある理由です。

0
DotNetNinja