我想在Powershell中重新启动docker for windows
。
就像我可以在Powershell中使用一个命令来完成它一样。
我可以实施吗?
使用Restart-Service *docker*
时:
答案 0 :(得分:4)
这可能是一个丑陋的解决方案,但对我有用:
$processes = Get-Process "*docker for windows*"
if ($processes.Count -gt 0)
{
$processes[0].Kill()
$processes[0].WaitForExit()
}
Start-Process "C:\Program Files\Docker\Docker\Docker for Windows.exe"
在if子句中,我检查是否找到了任何正在运行的进程。运行的“ Docker for Windows”实例不应超过1个,这样您就可以杀死列表中的第一个实例。
要重新启动,您需要知道计算机上“ Docker for Windows.exe”文件的完整路径。
答案 1 :(得分:0)
您可以在Powershell中使用
:restart-service *docker*
或者将Docker QuickStart Terminal插入诠释:
docker-machine restart
答案 2 :(得分:0)
类似于上面的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从一个切换到另一个(从Linux切换到Windows或从Windows切换到Linux),这就是为什么您必须做两次。