{"id":763,"date":"2024-07-22T20:40:24","date_gmt":"2024-07-22T20:40:24","guid":{"rendered":"https:\/\/dockerpros.com\/?post_type=glossary&#038;p=763"},"modified":"2024-07-22T20:55:30","modified_gmt":"2024-07-22T20:55:30","slug":"docker-gc-garbage-collection","status":"publish","type":"glossary","link":"https:\/\/dockerpros.com\/fr\/wiki\/docker-gc-garbage-collection\/","title":{"rendered":"Docker GC (Garbage Collection)"},"content":{"rendered":"<h1>Comprendre la collecte des ordures Docker : une exploration approfondie\n\nLa collecte des ordures Docker est un aspect crucial de la gestion des ressources dans les environnements conteneuris\u00e9s. Ce processus automatique permet d'identifier et de supprimer les ressources inutilis\u00e9es, telles que les images, les conteneurs et les volumes, afin de lib\u00e9rer de l'espace disque et d'optimiser les performances du syst\u00e8me.\n\nDans Docker, la collecte des ordures fonctionne en analysant l'\u00e9tat actuel du syst\u00e8me et en comparant les ressources existantes avec celles qui sont activement utilis\u00e9es. Les ressources qui ne sont plus r\u00e9f\u00e9renc\u00e9es ou n\u00e9cessaires sont marqu\u00e9es pour suppression. Ce processus peut \u00eatre d\u00e9clench\u00e9 manuellement par l'utilisateur ou s'ex\u00e9cuter automatiquement selon des intervalles d\u00e9finis.\n\nIl est important de noter que la collecte des ordures Docker ne supprime pas les ressources qui sont encore en cours d'utilisation ou qui ont \u00e9t\u00e9 explicitement marqu\u00e9es comme importantes. Cela garantit que les donn\u00e9es critiques ne sont pas perdues accidentellement lors du processus de nettoyage.\n\nPour les d\u00e9veloppeurs et les administrateurs syst\u00e8me, comprendre le fonctionnement de la collecte des ordures Docker est essentiel pour maintenir des environnements de d\u00e9veloppement et de production efficaces. En g\u00e9rant correctement les ressources et en planifiant des nettoyages r\u00e9guliers, il est possible d'\u00e9viter l'accumulation de donn\u00e9es inutiles et de maintenir des performances optimales des conteneurs.<\/h1>\n<p>Docker Garbage Collection (GC) is a crucial process that ensures the efficient management of disk space by removing unused Docker images, containers, and volumes. As developers and system administrators utilize Docker to create isolated, portable environments for their applications, managing resources effectively becomes essential\u2014especially as the number of deployed containers and images increases over time. In this article, we will delve into Docker GC, exploring its mechanisms, benefits, challenges, and various strategies for implementing effective garbage collection.<\/p>\n<h2>The Importance of Garbage Collection in Docker<\/h2>\n<p>Garbage Collection in Docker is not just about freeing up space; it is about maintaining a healthy development and production environment. Containers and images can accumulate rapidly, leading to:<\/p>\n<ul>\n<li><strong>Disk Space Issues<\/strong>: Unused resources can consume significant disk space, leading to performance degradation and potential system failures.<\/li>\n<li><strong>Increased Complexity<\/strong>: Too many unused images and containers can complicate the management of resources, making it difficult for developers to find the images they need.<\/li>\n<li><strong>Risques de s\u00e9curit\u00e9<\/strong>: Les images et conteneurs obsol\u00e8tes ou vuln\u00e9rables peuvent pr\u00e9senter des risques de s\u00e9curit\u00e9 s'ils sont laiss\u00e9s sans surveillance.<\/li>\n<\/ul>\n<p>En mettant en \u0153uvre une strat\u00e9gie robuste de collecte des ordures, les organisations peuvent att\u00e9nuer ces probl\u00e8mes, garantissant ainsi que leurs environnements Docker restent efficaces, s\u00e9curis\u00e9s et g\u00e9rables.<\/p>\n<h2>How Docker Garbage Collection Works<\/h2>\n<p>Docker\u2019s garbage collection process revolves around the concept of layers and references. Each Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> consists of a series of read-only layers, and containers are spawned from these images. Here\u2019s how the process generally works:<\/p>\n<ol>\n<li>\n<p><strong><span class=\"glossaryai-tooltip glossary-term-739\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image-layers\/\" target=\"_blank\">Image Layers<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Les calques sont des composants fondamentaux dans les logiciels de conception et d'\u00e9dition graphique, permettant une manipulation non destructive des \u00e9l\u00e9ments. Chaque calque peut contenir diff\u00e9rentes images, effets ou r\u00e9glages, offrant un contr\u00f4le pr\u00e9cis sur la composition et les effets visuels.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image-layers\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/strong>Chaque Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is built in layers. When an <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is created, it takes a snapshot of the filesystem&#8217;s current state, and each change forms a new layer.<\/p>\n<\/li>\n<li>\n<p><strong>Reference Counting<\/strong>: Docker employs a reference counting mechanism to track which images are in use. If an <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is no longer referenced by any <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\" target=\"_blank\">conteneur<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, il est consid\u00e9r\u00e9 comme \"pendante\".\"<\/p>\n<\/li>\n<li>\n<p><strong>Images suspendues<\/strong>: Il s'agit d'images qui ne sont pas \u00e9tiquet\u00e9es et qui ne sont r\u00e9f\u00e9renc\u00e9es par aucun conteneur. Elles peuvent \u00eatre supprim\u00e9es en toute s\u00e9curit\u00e9 lors de la collecte des ordures.<\/p>\n<\/li>\n<li>\n<p><strong>Suppression des conteneurs et volumes inutilis\u00e9s\n\nLorsque vous travaillez avec Docker, il est courant de cr\u00e9er de nombreux conteneurs et volumes au fil du temps. Cependant, certains de ces conteneurs et volumes peuvent devenir inutiles et occuper de l'espace disque pr\u00e9cieux. Heureusement, Docker fournit des commandes pour nettoyer ces ressources inutilis\u00e9es.\n\nPour supprimer tous les conteneurs arr\u00eat\u00e9s, vous pouvez utiliser la commande suivante :\n\n```bash\ndocker container prune\n```\n\nCette commande supprimera tous les conteneurs qui ne sont pas en cours d'ex\u00e9cution. Si vous souhaitez supprimer uniquement certains conteneurs sp\u00e9cifiques, vous pouvez utiliser la commande `docker container rm` suivie de l'ID ou du nom du conteneur.\n\nPour supprimer tous les volumes inutilis\u00e9s, vous pouvez utiliser la commande suivante :\n\n```bash\ndocker volume prune\n```\n\nCette commande supprimera tous les volumes qui ne sont pas utilis\u00e9s par au moins un conteneur. Si vous souhaitez supprimer uniquement certains volumes sp\u00e9cifiques, vous pouvez utiliser la commande `docker volume rm` suivie du nom du volume.\n\nIl est important de noter que la suppression de conteneurs et de volumes peut entra\u00eener la perte de donn\u00e9es. Assurez-vous donc de sauvegarder toutes les donn\u00e9es importantes avant de proc\u00e9der \u00e0 la suppression.\n\nEn utilisant r\u00e9guli\u00e8rement ces commandes, vous pouvez maintenir votre environnement Docker propre et optimis\u00e9, en lib\u00e9rant de l'espace disque et en am\u00e9liorant les performances globales de votre syst\u00e8me.<\/strong>: Les conteneurs qui se sont arr\u00eat\u00e9s ou qui ne sont plus n\u00e9cessaires, ainsi que les volumes qui ne sont plus utilis\u00e9s, peuvent \u00e9galement \u00eatre cibl\u00e9s pour suppression.<\/p>\n<\/li>\n<\/ol>\n<p>Ce processus se produit automatiquement dans certains sc\u00e9narios, mais une intervention manuelle est souvent n\u00e9cessaire pour optimiser la gestion des ressources.<\/p>\n<h2>Commandes de collecte des ordures Docker<\/h2>\n<p>Docker propose plusieurs commandes qui peuvent \u00eatre utilis\u00e9es pour la collecte manuelle des ordures, permettant aux utilisateurs de g\u00e9rer efficacement les images, conteneurs et volumes. Explorons ces commandes en d\u00e9tail :<\/p>\n<h3>Removing Unused Images<\/h3>\n<p>To remove unused images, the <code><span class=\"glossaryai-tooltip glossary-term-1237\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\" target=\"_blank\">docker image prune<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Image Prune is a command used to remove unused and dangling images from the local Docker environment. This helps to free up disk space and maintain an efficient development workflow.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code> La commande `docker image prune` peut \u00eatre utilis\u00e9e. Cette commande supprime par d\u00e9faut les images orphelines :<\/p>\n<pre><code class=\"language-bash\"><span class=\"glossaryai-tooltip glossary-term-1237\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\" target=\"_blank\">docker image prune<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Image Prune is a command used to remove unused and dangling images from the local Docker environment. This helps to free up disk space and maintain an efficient development workflow.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code><\/pre>\n<p>Pour supprimer toutes les images inutilis\u00e9es (pas seulement les orphelines), utilisez la commande <code>-a<\/code> drapeau:<\/p>\n<pre><code class=\"language-bash\"><span class=\"glossaryai-tooltip glossary-term-1237\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\" target=\"_blank\">docker image prune<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Image Prune is a command used to remove unused and dangling images from the local Docker environment. This helps to free up disk space and maintain an efficient development workflow.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> -a<\/code><\/pre>\n<h3>Removing Stopped Containers<\/h3>\n<p>To clean up stopped containers, the <code>docker <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\" target=\"_blank\">conteneur<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> prune<\/code> La commande est efficace :<\/p>\n<pre><code class=\"language-bash\">docker <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\" target=\"_blank\">conteneur<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> prune<\/code><\/pre>\n<p>This command will remove all containers that are not currently running.<\/p>\n<h3>Suppression des volumes inutilis\u00e9s<\/h3>\n<p>Volumes that are no longer in use can take up significant space. The <code><span class=\"glossaryai-tooltip glossary-term-1172\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-volume-prune\/\" target=\"_blank\">docker volume nettoyer<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Volume Prune est une commande utilis\u00e9e pour supprimer tous les volumes inutilis\u00e9s de votre syst\u00e8me. Cela permet de g\u00e9rer l'espace disque efficacement en \u00e9liminant les donn\u00e9es orphelines qui ne sont plus associ\u00e9es \u00e0 aucun conteneur.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-volume-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code> command allows you to remove unused volumes:<\/p>\n<pre><code class=\"language-bash\"><span class=\"glossaryai-tooltip glossary-term-1172\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-volume-prune\/\" target=\"_blank\">docker volume nettoyer<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Volume Prune est une commande utilis\u00e9e pour supprimer tous les volumes inutilis\u00e9s de votre syst\u00e8me. Cela permet de g\u00e9rer l'espace disque efficacement en \u00e9liminant les donn\u00e9es orphelines qui ne sont plus associ\u00e9es \u00e0 aucun conteneur.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-volume-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code><\/pre>\n<p>This will delete all volumes that are not currently in use by any <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\" target=\"_blank\">conteneur<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3>Collecte compl\u00e8te des ordures<\/h3>\n<p>For a more thorough garbage collection, all three commands can be combined into a single script. Here is an example of a shell script that performs comprehensive GC:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n\n# Remove unused images\n<span class=\"glossaryai-tooltip glossary-term-1237\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\" target=\"_blank\">docker image prune<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Image Prune is a command used to remove unused and dangling images from the local Docker environment. This helps to free up disk space and maintain an efficient development workflow.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-image-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> -a -f\n\n# Remove stopped containers\ndocker <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\" target=\"_blank\">conteneur<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> prune -f\n\n# Remove unused volumes\n<span class=\"glossaryai-tooltip glossary-term-1172\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-volume-prune\/\" target=\"_blank\">docker volume nettoyer<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Volume Prune est une commande utilis\u00e9e pour supprimer tous les volumes inutilis\u00e9s de votre syst\u00e8me. Cela permet de g\u00e9rer l'espace disque efficacement en \u00e9liminant les donn\u00e9es orphelines qui ne sont plus associ\u00e9es \u00e0 aucun conteneur.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-volume-prune\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> -f\n\n# Optionally, you can <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/add\/\" target=\"_blank\">add<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">La commande ADD dans Docker est une instruction utilis\u00e9e dans les Dockerfiles pour copier des fichiers et des r\u00e9pertoires depuis une machine h\u00f4te vers une image Docker pendant le processus de construction. Elle facilite non seulement le transfert de fichiers locaux, mais offre \u00e9galement des fonctionnalit\u00e9s suppl\u00e9mentaires, telles que l'extraction automatique de fichiers compress\u00e9s et le t\u00e9l\u00e9chargement de fichiers distants via HTTP ou HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> V\u00e9rifications de journal ou notifications ici<\/code><\/pre>\n<h2>Automatisation de la collecte des ordures Docker<\/h2>\n<p>While manual garbage collection is effective, it can be cumbersome and error-prone, especially in larger environments. Automating the process can save time and reduce the risk of human error. Here are some approaches to automate Docker GC:<\/p>\n<h3>T\u00e2ches Cron<\/h3>\n<p>Setting up a cron job can automate the execution of GC commands at specified intervals. For example, you can create a cron job that runs the GC script every night at 2 AM:<\/p>\n<pre><code class=\"language-bash\">0 2 * * * \/chemin\/vers\/votre\/script-docker-gc.sh<\/code><\/pre>\n<h3>Docker System Prune<\/h3>\n<p>Docker propose \u00e9galement une commande de nettoyage plus compl\u00e8te appel\u00e9e <code>Nettoyer le syst\u00e8me Docker<\/code>. This command removes all unused data, including stopped containers, unused networks, dangling images, and build cache:<\/p>\n<pre><code class=\"language-bash\">Nettoyer le syst\u00e8me Docker<\/code><\/pre>\n<p>To include unused images that are not dangling, use the <code>-a<\/code> drapeau:<\/p>\n<pre><code class=\"language-bash\">docker system prune -a<\/code><\/pre>\n<h3>Utilizing Third-Party Tools<\/h3>\n<p>Plusieurs outils tiers peuvent permettre d'automatiser le GC Docker :<\/p>\n<ul>\n<li><strong>Docker-GC<\/strong>: This is a popular open-source tool that automatically removes unused Docker containers and images based on customizable configurations.<\/li>\n<li><strong>Portainer<\/strong>Une interface de gestion web pour Docker incluant des fonctionnalit\u00e9s de surveillance et de nettoyage des ressources.<\/li>\n<\/ul>\n<h2>Avantages du nettoyage efficace de Docker<\/h2>\n<p>La mise en \u0153uvre de strat\u00e9gies efficaces de collecte des ordures dans les environnements Docker offre une multitude d'avantages :<\/p>\n<ol>\n<li>\n<p><strong>Optimisation de l'espace disque<\/strong>: GC r\u00e9duit consid\u00e9rablement la quantit\u00e9 d'espace disque utilis\u00e9 en supprimant les ressources inutiles.<\/p>\n<\/li>\n<li>\n<p><strong>Am\u00e9lioration des performances<\/strong>: Un environnement Docker plus l\u00e9ger conduit \u00e0 de meilleures performances, car moins de ressources doivent \u00eatre g\u00e9r\u00e9es et analys\u00e9es.<\/p>\n<\/li>\n<li>\n<p><strong>Reduced Complexity<\/strong>: Simplifying the state of Docker images and containers enables developers to manage resources more easily.<\/p>\n<\/li>\n<li>\n<p><strong>S\u00e9curit\u00e9 Renforc\u00e9e<\/strong>: Regularly cleaning up outdated images and containers reduces the attack surface, minimizing potential vulnerabilities.<\/p>\n<\/li>\n<li>\n<p><strong>Increased Visibility<\/strong>: Automated garbage collection provides better insights into resource usage, allowing teams to make informed decisions regarding their Docker environments.<\/p>\n<\/li>\n<\/ol>\n<h2>Challenges of Docker Garbage Collection<\/h2>\n<p>Despite the many benefits, Docker GC is not without its challenges:<\/p>\n<h3>Risque de suppression involontaire<\/h3>\n<p>Un processus de garbage collection mal configur\u00e9 peut entra\u00eener la suppression accidentelle d'images ou de conteneurs encore en cours d'utilisation. Pour att\u00e9nuer ce risque, examinez et testez toujours vos scripts GC dans un environnement s\u00e9curis\u00e9 avant de les d\u00e9ployer en production.<\/p>\n<h3>Accounting for Dependencies<\/h3>\n<p>Some images may have dependencies or are used as base images for other images. Removing a base <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> could break dependent images or containers. It\u2019s crucial to examine dependencies before executing garbage collection commands.<\/p>\n<h3>Surcharge de performance<\/h3>\n<p>L'ex\u00e9cution fr\u00e9quente de commandes de collecte des ordures peut introduire une surcharge de performance, en particulier sur les syst\u00e8mes aux ressources limit\u00e9es. Le moment et la fr\u00e9quence doivent \u00eatre ajust\u00e9s en fonction de la charge de travail sp\u00e9cifique de votre environnement Docker.<\/p>\n<h2>Best Practices for Docker Garbage Collection<\/h2>\n<p>Pour garantir un processus de collecte des ordures efficace et s\u00fbr, tenez compte des meilleures pratiques suivantes :<\/p>\n<h3>Surveillance r\u00e9guli\u00e8re<\/h3>\n<p>Regularly monitor your Docker environment to identify unused resources. Tools like <code>docker syst\u00e8me df<\/code> can provide insights into disk usage and help you make informed decisions about when to perform garbage collection.<\/p>\n<h3>\u00c9tablir des politiques claires<\/h3>\n<p>D\u00e9finissez des politiques claires pour la collecte des ordures, y compris les p\u00e9riodes de r\u00e9tention pour les images et les conteneurs. Par exemple, d\u00e9cidez combien de temps conserver les conteneurs arr\u00eat\u00e9s et s'il faut conserver les images pour des versions sp\u00e9cifiques.<\/p>\n<h3>Utilisez les tags avec discernement.<\/h3>\n<p>L'utilisation de balises descriptives pour les images peut aider \u00e0 \u00e9viter la confusion et les suppressions accidentelles. Au lieu de se fier uniquement \u00e0 <code>latest<\/code> \u00e9tiquette, attribuez des num\u00e9ros de version sp\u00e9cifiques aux images pour suivre plus efficacement les d\u00e9pendances et l'utilisation.<\/p>\n<h3>Tester dans les environnements de pr\u00e9production<\/h3>\n<p>Avant d'appliquer des strat\u00e9gies de garbage collection dans des environnements de production, testez-les minutieusement dans des environnements de pr\u00e9production. Cette pratique permet d'identifier les probl\u00e8mes potentiels et garantit la s\u00e9curit\u00e9 de vos ressources.<\/p>\n<h2>Conclusion<\/h2>\n<p>Docker Garbage Collection is an essential practice for maintaining healthy and efficient Docker environments. By understanding how GC works, utilizing the available commands, automating processes, and adhering to best practices, organizations can effectively manage their resources, optimize performance, and mitigate risks. In an era of rapid application deployment and containerization, effective garbage collection becomes not only a matter of maintenance but a strategic imperative. As Docker continues to evolve, staying informed about GC best practices will equip you to handle the complexities of <span class=\"glossaryai-tooltip glossary-term-650\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\" target=\"_blank\">conteneur<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Containers are lightweight, portable units that encapsulate software and its dependencies, enabling consistent execution across different environments. They leverage OS-level virtualization for efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/container\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> management effectively, ensuring your applications <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> en douceur et en toute s\u00e9curit\u00e9. <\/p>\n<p>Gr\u00e2ce \u00e0 cette compr\u00e9hension approfondie du garbage collection Docker, vous \u00eates d\u00e9sormais mieux arm\u00e9 pour mettre en \u0153uvre des strat\u00e9gies de collecte des d\u00e9chets robustes dans vos environnements Docker.<\/p>","protected":false},"excerpt":{"rendered":"<p>Docker GC (Garbage Collection) is a process that automatically removes unused containers, images, and volumes to free up system resources, ensuring optimal performance and storage management in Docker environments.<\/p>","protected":false},"author":1,"featured_media":1558,"parent":0,"template":"","glossary-cat":[],"class_list":["post-763","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker GC (Garbage Collection) - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-gc-garbage-collection\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker GC (Garbage Collection) - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Docker GC (Garbage Collection) is a process that automatically removes unused containers, images, and volumes to free up system resources, ensuring optimal performance and storage management in Docker environments.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-gc-garbage-collection\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-22T20:55:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/\",\"url\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/\",\"name\":\"Docker GC (Garbage Collection) - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg\",\"datePublished\":\"2024-07-22T20:40:24+00:00\",\"dateModified\":\"2024-07-22T20:55:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg\",\"width\":800,\"height\":600,\"caption\":\"docker-gc-garbage-collection-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Glossary\",\"item\":\"https:\/\/dockerpros.com\/fr\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Docker GC (Garbage Collection)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker GC (Garbage Collection) - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/fr\/wiki\/docker-gc-garbage-collection\/","og_locale":"fr_FR","og_type":"article","og_title":"Docker GC (Garbage Collection) - Dockerpros","og_description":"Docker GC (Garbage Collection) is a process that automatically removes unused containers, images, and volumes to free up system resources, ensuring optimal performance and storage management in Docker environments.","og_url":"https:\/\/dockerpros.com\/fr\/wiki\/docker-gc-garbage-collection\/","og_site_name":"Dockerpros","article_modified_time":"2024-07-22T20:55:30+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/","url":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/","name":"Docker GC (Garbage Collection) - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg","datePublished":"2024-07-22T20:40:24+00:00","dateModified":"2024-07-22T20:55:30+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-gc-garbage-collection_763.jpg","width":800,"height":600,"caption":"docker-gc-garbage-collection-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/wiki\/docker-gc-garbage-collection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Glossary","item":"https:\/\/dockerpros.com\/fr\/wiki\/"},{"@type":"ListItem","position":3,"name":"Docker GC (Garbage Collection)"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Dockerpros","description":"DockerPros \u2013 Votre centre de ressources Docker incontournable","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Dockerpros","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary\/763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary\/763\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/media\/1558"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/media?parent=763"}],"wp:term":[{"taxonomy":"glossary-cat","embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary-cat?post=763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}