How to remove all docker containers?
1. How to remove all docker containers?
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 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 explain how to change contaner to status like sql_migration
Comments
- (Robin Topper) This might be helpful stackoverflow.com/questions/32723111/…
- (atline) Possible duplicate of What does CREATED container mean in docker?
1.1. Answer 1
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
Comments:
- (Jed Lynch) Docker is not as straight forward as I think it could be when it comes to rebuilding containers. For me, there was a learning curve, and since building environments is not something I do all the time, I forget the exact syntax of the commands. I will have to remember these commands.
1.2. Answer 2
I use the following command to remove all the docker containers:
docker rm $(docker ps -aq)
Comments:
1.3. Answer 3
I use the following commands to remove all containers:
docker stop $(docker ps -aq) docker rm $(docker ps -aq)
Comments:
1.4. Answer 4
One liner to stop / remove all of Docker containers:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
Comments:
1.5. Answer 5
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 ) use~sudo docker container ls -aq | xargs sudo docker container rm~, commands explanation:
Comments: