Reputation: 37034
I use following commands to remove all docker containers:
docker ps -q | xargs docker stop
docker ps -aq --no-trunc -f status=exited | xargs docker rm
But anyway I see containers after:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70cb7107d00d 24820714bfc6 "wait-for-it.sh mysqâ¦" 21 minutes ago Created sql_migration
Then, I executed the command:
docker rm sql_migration
And it removed the container.
Can you please help to correct initial command and explain why it doesn't work.
Also, I would be grateful if you explained how to change container to status like sql_migration
Upvotes: 20
Views: 24337
Reputation: 14477
Case 1. In order to remove only Stopped Containers use sudo docker container prune -f
$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
4a7f7eebae0f63178aff7eb0aa39cd3f0627a203ab2df258c1a00b456cf20063
f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360
Total reclaimed space: 212 B
Case 2. In order to remove all existing docker containers on system ( In all states - running / stopped / exited containers ) usesudo docker container ls -aq | xargs sudo docker container rm
,
commands explanation:
sudo container ls -aq
- lists all containers on system by continaer id filter.xargs
- iteration over the pipe output and execution of command on each linedocker container rm <container-id>
- docker container removalUpvotes: 2
Reputation: 311
One liner to stop / remove all of Docker containers:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
Upvotes: 1
Reputation: 25152
To remove all exited
and created
containers but not the Up
(running) ones:
docker container prune -f
-f
or --force
prevents you from being prompted to answer the following:
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N]
example: (Notice at the end that one container is not being removed)
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
053ce57276b7 alpine "/bin/sh" 3 seconds ago Created eager_meninsky
55f20431a536 alpine "/bin/sh" 15 seconds ago Up 14 seconds hardcore_clarke
44cbe2dc81b0 alpine "/bin/sh" 38 seconds ago Exited (0) 37 seconds ago test
647747afb9a4 alpine "/bin/sh" 18 hours ago Exited (137) 18 hours ago admiring_visvesvaraya
$ docker container prune -f
Deleted Containers:
053ce57276b7d7008272e95991cf950268b9b32676b1389ec6e8ab6e6b755dc9
44cbe2dc81b0522e0fd0e53f28a4d3871b818b9b17681dd011c8680ab37b51e7
647747afb9a431a2c5040e6aba5119b199b94061c444ff0194aaa809dbf849b8
Total reclaimed space: 0B
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
55f20431a536 alpine "/bin/sh" 45 seconds ago Up 44 seconds hardcore_clarke
docker container stop $(docker container ls -aq)
docker container prune -f
example:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
da7ffd8efb62 alpine "/bin/sh" 5 seconds ago Created quirky_poitras
31cb71a8899c alpine "/bin/sh" 20 seconds ago Exited (0) 13 seconds ago elastic_shaw
becfdc81228c alpine "/bin/sh" 25 seconds ago Up 24 seconds thirsty_murdock
$ docker container stop $(docker container ls -aq)
da7ffd8efb62
31cb71a8899c
becfdc81228c
$ docker container prune -f
Deleted Containers:
da7ffd8efb623677882b1534008e66a1530baa94e0473be537ef5c415c928ba3
31cb71a8899c47472d0ccb5710e34ff08b4ef142599d4e857e3e69740a2e59b5
becfdc81228cdf41519102ea780956eed71a86103e849dff3d9f7cca0a54651f
Total reclaimed space: 5B
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Upvotes: 31
Reputation: 1573
I use the following commands to remove all containers:
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
Upvotes: 3
Reputation: 732
I use the following command to remove all the docker containers:
docker rm $(docker ps -aq)
Upvotes: 11