在Windows上立即停止所有docker容器

Iss*_*ram 29 command-line docker

如何停止在Windows上运行的所有docker容器?

docker stop 仅适用于1个容器.

任何使它停止所有容器的命令/脚本?

huy*_*itw 52

您可以使用以下命令创建批处理(.bat)文件:

@ECHO OFF
FOR /f "tokens=*" %%i IN ('docker ps -q') DO docker stop %%i
Run Code Online (Sandbox Code Playgroud)

如果要直接在控制台中运行此命令,请替换%%i%i:

FOR /f "tokens=*" %i IN ('docker ps -q') DO docker stop %i
Run Code Online (Sandbox Code Playgroud)

在Git Bash或Bash for Windows中,您可以运行:

docker stop $(docker ps -q)
Run Code Online (Sandbox Code Playgroud)

  • Housy - 很好的解释,多亏了这个,每个人都把最后一个命令放到答案中,但他们没有解释你需要使用Git Bash或Bash for windows来完成这个!再次感谢你!!! (4认同)

小智 29

对于那些感兴趣的人,可以在Powershell中使用

docker ps -q | % { docker stop $_ }
Run Code Online (Sandbox Code Playgroud)


Fra*_*cis 8

如果问题的动机是恢复 Docker 占用的内存(就我而言,这就是我到达此页面的原因),我发现唯一的方法是完全停止 Docker Desktop。您可以通过右键单击通知区域(右下角)中的鲸鱼图标>退出 Docker Desktop 来执行此操作。当您重新启动 Docker Desktop 时,所有容器都会重新出现,并且 Docker 甚至会自动将它们重新设置。


Luk*_*ron 6

在 PowerShell 中,您也可以使用此语法

docker container stop $(docker container list -q)