在Docker中,如何停止所有正在執行的容器?

黄嘉波發表於2024-03-09

在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組內的使用者環境下執行。

相關文章