Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker stop all containers

I've seen many times the follwoing command to stop all docker containers:

docker stop $(docker ps -a -q)

There are two things that are not clear to me:

  1. docker ps -a prints all containers, not only running ones, so what is the point to stop containers that are already stopped?
  2. If docker ps returns/prints nothing (there are no running images) then docker stop blaims that it's not enough arguments.

What do I miss here? What is the best approach to cleanup an environment after docker?

like image 615
Oleksandr Taran Avatar asked Jun 14 '26 16:06

Oleksandr Taran


1 Answers

use this will not run if the docker ps is empty:

docker ps -q | xargs --no-run-if-empty docker stop

normally you use rm and system prune if you really want to cleanup

like image 133
LinPy Avatar answered Jun 17 '26 07:06

LinPy