====== Docker - Containers - Remove a container ======
===== Remove one or more specific containers =====
Use the **docker ps** command with the **-a** flag to locate the name or ID of the containers you want to remove:
To list the containers:
docker ps -a
To remove the containers:
docker rm ID_or_Name
----
===== Remove a container upon exit =====
If you know when you're creating a container that you won't want to keep it around once you're done, you can run **docker run --rm** to automatically delete it when it exits.
Run and Remove:
docker run --rm image_name
----
===== Remove all exited containers =====
You can locate containers using **docker ps -a** and filter them by their status: created, restarting, running, paused, or exited.
To review the list of exited containers, use the **-f** flag to filter based on status.
When you've verified you want to remove those containers, using **-q** to pass the IDs to the **docker rm** command.
To list the containers:
docker ps -a -f status=exited
To remove the containers:
docker rm $(docker ps -a -f status=exited -q)
----
===== Remove all existing containers =====
docker rm $(docker ps -aq)
----
===== Remove containers using more than one filter =====
Docker filters can be combined by repeating the filter flag with an additional value.
This results in a list of containers that meet either condition.
For example, if you want to delete all containers marked as either Created (a state which can result when you run a container with an invalid command) or Exited, you can use two filters:
To list the containers:
docker ps -a -f status=exited -f status=created
To remove the containers:
docker rm $(docker ps -a -f status=exited -f status=created -q)
----
===== Remove containers according to a pattern =====
You can find all the containers that match a pattern using a combination of **docker ps** and grep.
When you're satisfied that you have the list you want to delete, you can use awk and xargs to supply the ID to **docker rmi**.
**NOTE:** These utilities are not supplied by Docker and not necessarily available on all systems.
To list the containers:
docker ps -a | grep "pattern”
To remove the containers:
docker ps -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
----
===== Stop and remove all containers =====
You can review the containers on your system with **docker ps**.
Adding the **-a** flag will show all containers.
When you're sure you want to delete them, you can add the **-q** flag to supply the IDs to the **docker stop** and **docker rm** commands:
To list the containers:
docker ps -a
To remove the containers:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
----