DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 963,673 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Ankur Sheel
Ankur Sheel

Posted on • Originally published at ankursheel.com on

How to stop and remove all Docker containers

Problem

Occasionally, I have needed to stop and remove all the docker containers I am running locally. I got tired of googling for the commands all the time and decided to write a snippet that I could access easily.

Solution

Before we see how to stop and remove all containers, we need to list all the containers.

List all Containers

The command to lists all containers isdocker container ls [OPTIONS].

By default, it shows just the running containers and a lot of information that we won’t need. So let’s pass in some options

  • -a: Show all the containers.
  • -q: Only display the numeric ids.
docker container ls -aq

Stopping all containers

The command to stop docker containers isdocker container stop [OPTIONS] CONTAINER [CONTAINER...]

We can see it takes a space-delimited list of container ids/names to stop. We already have the list of container ids from the previous step. All we need to do now is use a shell expansion trick to pass in the list of all containers.

docker container stop $(docker container ls -aq)

Removing all containers

The command to remove docker containers isdocker container rm [OPTIONS] CONTAINER [CONTAINER...]

We can see it’s similar to the stop command and also takes a space-delimited list of container ids to remove.

We can use the same shell expansion trick to pass in the list of all containers.

docker container rm $(docker container ls -aq)

Conclusion

This makes it trivial to stop and remove all the containers that I have running locally.

Top comments (0)

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.