Learn How To Stop, Kill And Clean Up Docker Containers

3
70922
docker-containers

In the previous article ‘learn how to create and start Docker containers’, we discussed the docker run, create and start commands. We discussed how to customize the properties of a container. We will build on the concepts covered in that tutorial in this tutorial. This tutorial assumes you have a good understanding of the main parts of Docker, you have set up Docker and you have some knowledge of images and containers. If you plan to read more programming tutorials, check Thoughtsoncloud, You can find deep and descriptive manuals and guides about Kotlin and Android Studio on Thoughtsoncloud

Starting and stopping containers is different from stopping and resuming ordinary processes. A process stop does not pause the process, it causes the process to exit. A stopped container is not returned by docker ps. To stop a container you use the docker stop command and pass the name of the container and the number of seconds before a container is killed. The default number of seconds the command will wait before the killing is 10 seconds.

All In One Coding Program-1000%

Read More:

Before we demonstrate how to kill a container, let us check if there are containers running. The command below will do that.

sudo docker ps

return-containers

The docker ps command returns a list of all running containers, from our output above we do not have any running container. In the ‘learn how to use images’ tutorial, we demonstrated how to search and download images from the Docker hub. We downloaded a WordPress image that we can use to create a container. Let us start a container using the WordPress image with the command below.

sudo docker create --name firstkill bitnami/wordpress

create-wordp

After starting the container use sudo docker ps -a command to return all containers.

return-all-containers

From the output above, we can see the container we have created. Something to note about docker is that all containers that were running at shut down will be restarted on a reboot.

We use the run command to run our container by passing the ID returned by docker ps -a to run as shown below.

sudo docker run fe1f71042611

Use docker ps to return only the containers that are running.

exit-status

From the output above our container shows its status as exited. When a container exits with code 0 there are no errors.

Because containers are just like any other Unix process we can interact with them via Unix signals. For example, specifying the number of seconds before a container is killed is an example of a signal. A normal process exit receives a SIGTERM signal. When a SIGTERM signal is sent but a process does not exist within the specified time, a SIGKILL signal is sent.

When stopping a container is not possible you have to kill it. To kill a container you use docker kill command and pass the container ID. You can pass any Unix signal when calling the kill command. When you kill a container you can start it again just like you start a container that was properly stopped.

When you do not need a container momentarily to perform administrative functions, it is convenient to pause other than stop containers. Pausing containers rely on cgroups freezer which blocks the scheduling of frozen containers.

A key difference between pausing and stopping containers is in the persistence of state. When a container is stopped any resources allocated to it such as memory are released while a paused container does not release its allocated resources.

The commands below start our firstkill container, pause it and check its status. Use the container ID returned by sudo docker ps -a.

sudo docker run fe1f71042611
sudo docker pause fe1f71042611
sudo docker ps -a

docker-pause

The actions of creating and manipulating containers result in many image layers and container-specific folders. Cleaning up these resources is important. In the next section, we look at how you can remove images and containers.

To remove a container pass the container ID to the docker rm command.

The docker images command returns a list of all images on your host. To delete an image pass the ID returned by docker images to docker rmi command. An example of deleting an image is shown below.

sudo docker images
sudo docker rmi

Our attempt to remove the helloworld image above failed because there is a running container based on the image. We should always remove a container before we can remove an image. The error gives you the ID of the container making it very simple to remove the container. Let us remove the container, then remove the image.

remove-image

In this tutorial, we discussed the difference between normal processes and docker containers. We discussed how to stop a running container. We also discussed how to kill a running container. We noted the difference between stopping and killing a container. We discussed how to pause and resume a container. Finally, we discussed how to remove images and containers.

All In One Coding Program-1000%

We have also created an exclusive article on “BEST C & C++ IDES & EDITORS” For programmers To Enhance The Efficiency & Productivity. This Article Also Includes Some Cool Infographics On C & C++ Programming! Do read It!

Read More:

Previous articleKnow The Go Programming Language!!
Next articleAI & Big Data for eCommerce, Retail and Energy Industry

3 COMMENTS

  1. This is an odd article. I dont even see where you ever demo’d docker stop. You spoke showed everything except what the article title indicated the article was about

LEAVE A REPLY

Please enter your comment!
Please enter your name here