在Docker中,如何停止所有正在运行的容器?
在Docker中,要停止所有正在运行的容器,可以使用以下命令:
docker stop $(docker ps -aq)
这个命令的作用是:
-
docker ps -aq
:这条命令会列出所有容器(包括运行中和已停止的)的ID,-a
参数表示列出所有容器(不只是运行中的),-q
参数则表示仅显示ID,不显示其他详细信息。 -
$()
:这是 Bash 中的命令替换语法,它会执行括号内的命令并将输出结果作为外部命令的参数。在这里,docker ps -aq
的输出(即所有容器ID)会被传递给docker stop
命令。 -
docker stop
:这条命令用于停止指定的容器。当接收到由docker ps -aq
提供的一系列容器ID时,它会逐个向这些容器发送SIGTERM信号,让容器正常关闭。
综上所述,docker stop $(docker ps -aq)
这条命令就会依次停止所有正在运行的Docker容器。注意,执行这个命令需要有适当的权限,通常是在具有sudo权限的用户下运行,或者是在Docker组内的用户环境下运行。