Kill Containers and remove unused images from Docker Correctly

In this article, we shall discuss how to destroy, that is “Kill Containers and remove unused images from Docker Correctly”. We will be doing this over Portainer and Container Manager. Containers and images that are no longer in use can create clutter, making it harder to manage Docker environments. By removing them, you can streamline the system, keeping only essential resources running. Please see User account and process management in Linux, and Task Kill vs Stop Process: How to search for a service PID.
Note: Also, Docker containers, images, and networks take up significant disk space. Over time, unused or stopped containers, old images, and orphaned volumes can accumulate. Removing them helps free up space, especially on limited-storage devices like NAS
Kill Containers (CTs) over Portainer
In this article “Docker Setup: Monitoring Synology with Prometheus and Grafana“, we have discussed what Portainer is. For me, none of the reasons stated above apply.
I have decided to kill and remove unused images due to misconfiguration. Removing and recreating Containers can resolve configuration problems. Therefore, destroying and redeploying CTs allows you to reset the environment and apply new configurations without lingering issues from previous setups.
To do this, navigate to the Portainer dashboard, select the Containers you wish to destroy.

As you can see below, the containers are associated with the error code “Exited Code 137”. This error means that the container was terminated due to an out-of-memory (OOM) event. This means the system running the container did not have enough memory to continue running it, so the Linux kernel’s OOM killer forcibly stopped the process to free up memory.
To remove these containers that have been terminated, please select them and click “Remove”.

Please confirm “Remove” as shown below.

As you can see, the containers (CTs) have been removed.

Remove Unused Images
Unused images are images that are not associated with any running or stopped container.
To remove unused images in Portainer, navigate to Images on the dashboard. Click on the Filter and select unused as shown below.

Select the unused images and click on Remove.

Confirm image(s) removal as shown below.

As you can see, we have successfully removed all unused images.

Remove Unused Network
To do this, navigate to the Network section from the Portainer dashboards. Go through the list of networks and identify unused networks. These are networks that are not connected to any active containers.
Check the box next to the networks you want to remove. Once you have selected the networks. Click the “Remove” button from the networks list.

Confirm the action when prompted. This will permanently delete the selected networks from your system.

Clean up Registry
Cleaning up registries is an important maintenance task for managing Docker images and containers as it helps free up storage space.
Note: For cloud-based registries, reducing storage usage can also lower costs associated with storage services. Also, it can increase performance as a cluttered registry can slow down operations such as pulling and pushing images. Regular cleanup can improve the performance of these operations by reducing the amount of data to manage
To do this, navigate to the Portainer dashboard and select the Registries you wish to remove.

On the prompt, please click on “Remove” to permanently delete the selected registries.

Delete Stacks
As you are probably aware of, during testing phase. You may need to frequently create and delete stacks. Removing outdated or unnecessary stacks helps streamline the testing process.
To do this, navigate to Stacks on the Portainer dashboard and select the Stacks to delete.

Click on “Remove” as shown below when prompted.

If you wish, you may need to clean up some persistent folder that were crated for your containers.

Delete Container over Container Manager on Synology
As you can see, we currently have one image and Container running.

If we had deleted this over Portainer itself. I will not be able to show you all the steps I have demonstrated above.
To do this over the Container Manager, click on “Container” and ensure it is stopped. Next, select “Actions” and click on “Delete”.

Also, to remove the unused Poratainer image. In the left sidebar, click on “Images” and select the image to remove.
Then click on “Remove Unused Images”.

Conclusion
You have learned how to effectively manage and remove unused images, network and containers via Portainer and Container Manager. Thereby, helping to maintain a clean and efficient Docker environment.
Regular maintenance helps ensure that you only retain necessary images, improving overall system reliability and resource management as well.
I hope you found this article on how to ‘Kill Containers and remove unused images from Docker Correctly” very useful. Please feel free to leave a comment below.