How to Remove Docker Containers
A Docker image can only be deleted if it is not being used by any Docker containers. Therefore, in order to delete a Docker image, all of the Docker containers using that image must also be deleted.
In this lesson, we’ll explore several methods for removing Docker containers.
The Purpose of Docker Container Removal
A Docker container reaches the exited state once its execution is finished. These containers occupy the machine’s disk space even though they don’t use any CPU or memory. Additionally, halted containers are not immediately deleted until we run the Docker container with the --rm
parameter.
As a result, as more containers are put into the exited state, the total amount of disk space they use grows. This could prevent us from starting new containers or cause the Docker daemon to become unresponsive.
It is advised to either run the Docker containers with the --rm
flag or manually remove the Docker containers regularly to prevent such situations.
Now let’s look at removing Docker containers.
We’ll start a non-interactive Almalinux Docker container first. When we run the container this way, it will immediately cease.
docker run -d --name mycontainer almalinux
For Ubuntu, you can use:
docker run -d --name mycontainer ubuntu
Let’s now use the docker rm
command to delete the Docker container, mycontainer
:
docker rm mycontainer
When using the docker rm
command to delete a Docker container, you can also use the Docker container ID for the Docker container name:
docker rm <container_id>
Eliminate Several Docker Containers
Using the docker rm
command, we can also get rid of numerous Docker containers. The docker rm
command eliminates every container listed in a space-separated list of its name or ID:
docker rm <container_id1> <container_id2> <container_id3>
Three Docker containers were present in the previous example but were eliminated with the docker rm
command.
Any Docker command can be used in conjunction with the Docker container name and ID. You’ll see that for mycontainer1
and mycontainer3
, we used the Docker container ID, while for mycontainer2
, we used the container name.
Delete Each and Every Docker Container
Imagine a situation where there are too many halted Docker containers on the machine and we want to get rid of them all. Of course, we can employ the aforementioned strategy and supply the docker rm
command with the IDs of all the containers. The following command, however, is simpler and more optimized for removing all Docker containers:
docker rm $(docker ps -a -q)
Remove a Running Docker Container Forcibly
All of the commands we covered in the aforementioned examples only function when the Docker container is halted. Without first halting it, we can attempt to delete a running container and receive the following error message:
Error response from daemon: You cannot remove a running container
Using the docker stop
command to stop a running Docker container and the docker rm
command to delete it are two methods for doing so.
Another approach is to use the -f
option to remove such containers forcibly:
docker rm -f <container_id>
A single Docker container, a group of Docker containers, or all of the Docker containers can be deleted with the -f
option.
Conclusion
In this tutorial, we learned why it’s important to get rid of Docker containers. First, we discovered how to take a container off of a Linux computer. Additionally, we used the docker rm
and docker prune
commands to bulk remove the Docker containers.
Last but not least, we considered how to eject forcibly running Docker containers. Regularly removing unused containers is a good practice to optimize disk space and ensure the smooth operation of your Docker environment, regardless of whether you’re using Almalinux or Ubuntu.