1. Remove what can be removed...
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
2. Stop all & remove...
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