In this article, we will take a look at 5 different ways to remove containers in docker.
These methods cover removing both running and stopped containers.

1. Using rm option

Below command is used to remove all docker containers

docker rm -f $(docker ps -aq)

In this command,

  • docker ps -aq lists all containers, where -a flag stands for all and -q flag stands for only IDs,
  • $(command) runs the command and substitutes its output,
  • docker rm -f removes containers, with -f to force deletion even if running.

So, this command will remove all the containers, even if any one of these is running.

2. Using system prune

This command removes all containers that are not running, along with all unused networks, images, and volumes. Example,

docker system prune

3. Using container prune

This command can also be used to remove docker containers.

docker container prune

This command will remove all containers that are in the “Exited” state.
It will also reclaim the disk space that was used by those containers.
This is a more specific command as compared to docker system prune, which removes networks, images, and volumes, apart from containers.

4. Using docker compose

If you are using docker compose for managing docker containers, then use below command for stopping and removing all containers, which are defined in docker-compose yml file.
This command will also remove all networks, and volumes.

docker-compose down

5. Using shell script

All containers can also be removed using below code in shell script.

for container in $(docker ps -aq); do
  docker rm -f $container
done

This method is the same as the first method but it uses a for loop that iterates over the list of containers and deletes each of them one by one using the docker rm command.

Conclusion

In this blog, we discussed various ways to remove all Docker containers from your system.
We covered the rm option, system prune command, container prune command, utilizing Docker Compose, and creating a shell script for automation.

Each method has its advantages and use cases, depending on your specific requirements.
The ‘rm’ option is straightforward and easy to use for removing individual containers.
System prune and container prune are helpful for cleaning up your system by removing all stopped containers or specific ones.
Docker Compose is a great tool for managing multi-container applications, allowing you to start, stop, and remove containers with a single command.
Lastly, creating a shell script can help automate the process of removing containers, making it easier and more efficient.
Regardless of the method you choose, it’s crucial to regularly clean up your Docker containers to free up resources and improve the performance of your system.
By implementing these strategies, you can keep your Docker environment organized and running smoothly.
Experiment with these different techniques to find the most convenient and effective solution for your container management needs.