Docker prune nettoyer images, conteneurs, — Docker prune : nettoyer images, conteneurs, volumes et cache en une commande

Docker prune : nettoyer images, conteneurs, volumes et cache en une commande

Vianney Beaumont


Sur un serveur de test, le disque ne se remplit pas toujours à cause des fichiers visibles. Les images Docker oubliées, les conteneurs arrêtés et le cache de build s’accumulent en coulisses, parfois après quelques essais seulement. Docker ne les efface pas automatiquement : cette prudence évite de supprimer des données ou des éléments qu’un projet pourrait encore utiliser, mais elle laisse le nettoyage à la charge de l’équipe.

La commande docker system prune rassemble plusieurs opérations de nettoyage. Elle retire certains objets inutilisés, mais ne supprime pas tout par défaut : les volumes sont protégés, et les images encore étiquetées restent présentes, sauf option supplémentaire. Le bon réflexe consiste donc à mesurer d’abord l’espace disque occupé, puis à choisir le niveau de purge adapté. Une commande bien cadrée libère de la place ; une commande lancée sans vérifier peut effacer des données attendues.

En bref :

  • docker system df permet d’examiner l’espace utilisé par Docker.
  • docker system prune supprime les conteneurs arrêtés, les réseaux inutilisés, les images « pendantes » et le cache de build inutilisé.
  • L’option -a élargit la suppression aux images non utilisées par un conteneur.
  • L’option –volumes ajoute les volumes anonymes inutilisés, mais pas les volumes nommés.
  • Pour les données sensibles, un filtre d’ancienneté et une vérification préalable réduisent les risques.

Docker prune : comprendre ce que la commande supprime réellement

Dans un projet en évolution, les essais laissent des traces. Chaque version peut produire une image, un lancement interrompu peut conserver un conteneur arrêté, et les compilations successives peuvent remplir le cache de build. À l’échelle d’un poste ou d’un VPS partagé par plusieurs projets, ces éléments finissent par peser sur l’espace disque.

Docker prune : comprendre ce que la commande supprime réellement — Docker prune : nettoyer images, conteneurs, volumes et cache en une commande

Docker propose des commandes prune distinctes pour chaque famille de ressources. docker container prune retire les conteneurs arrêtés ; docker image prune cible les images inutilisées ; les commandes dédiées aux volumes, réseaux et constructeurs de build ont leur propre portée. La commande globale sert de raccourci, mais elle ne signifie pas « tout supprimer ».

A lire également :  Comment ajouter une police sur WordPress : méthodes propres (thème, plugin, CSS)

Par défaut, docker system prune supprime les conteneurs arrêtés, les réseaux inutilisés, les images pendantes et le cache de build inutilisé. Une image pendante n’a plus d’étiquette et n’est référencée par aucun conteneur. Les images étiquetées qui ne servent à aucun conteneur sont conservées, sauf si l’option -a est ajoutée.

Cette distinction compte lorsqu’une équipe conserve plusieurs versions pour accélérer un retour arrière. Supprimer toutes les images inutilisées peut obliger à les télécharger ou à les reconstruire lors du prochain déploiement. Le nettoyage gagne à suivre une règle simple : supprimer ce qui n’a plus d’usage identifié, pas ce qui semble seulement encombrant.

La commande Docker pour nettoyer plusieurs ressources d’un coup

Avant de lancer une purge, examinez l’occupation avec docker system df. La variante docker system df -v détaille davantage les images, conteneurs et volumes. Cette mesure ne prévisualise pas exactement la liste des objets supprimés, mais elle aide à repérer où se concentre l’espace consommé.

Pour un nettoyage courant, la commande est docker system prune. Docker demande une confirmation avant de poursuivre. Sur une machine de développement, cette opération suffit souvent à récupérer de la place sans toucher aux volumes, qui peuvent contenir une base de données ou des fichiers persistants.

Pour aller plus loin, docker system prune -a ajoute les images inutilisées par les conteneurs. L’option –volumes inclut les volumes anonymes inutilisés. Attention : les volumes nommés ne sont pas supprimés par cette commande globale. Pour les retirer, il faut utiliser docker volume prune -a, après avoir vérifié qu’aucune donnée ne doit être conservée.

Sur un serveur partagé, évitez de supprimer l’invite avec -f tant que la procédure n’est pas validée. L’absence de confirmation est pratique dans un script maîtrisé, mais elle retire une dernière occasion de relire l’action. Une installation neuve ou une remise à plat peut commencer par ce guide pour installer Docker sur Debian, puis intégrer une routine de nettoyage adaptée à l’usage réel.

Images Docker, conteneurs et volumes : choisir une purge ciblée

La purge ciblée est préférable lorsque l’on connaît la ressource encombrante. Pour retirer uniquement les conteneurs arrêtés, utilisez docker container prune. Un conteneur arrêté conserve sa couche inscriptible tant qu’il n’est pas supprimé, ce qui peut compter après de nombreux essais. Les conteneurs lancés avec l’option –rm, eux, sont supprimés à leur arrêt.

Pour les images Docker, docker image prune se limite par défaut aux images pendantes. La commande docker image prune -a est plus large : elle retire les images qui ne sont utilisées par aucun conteneur. Un filtre permet de ne considérer que les éléments anciens, par exemple docker image prune -a –filter « until=168h », pour écarter ceux créés depuis moins de sept jours.

A lire également :  Audit de sécurité informatique en PME : la check-list des points à contrôler

Les volumes demandent une vigilance différente. Ils peuvent contenir des fichiers applicatifs ou une base de données et ne sont pas supprimés automatiquement par Docker. docker volume prune cible par défaut les volumes anonymes inutilisés ; l’option -a étend l’action aux volumes nommés. Avant cette étape, vérifiez les sauvegardes et les noms associés aux services.

Les réseaux inutilisés consomment peu d’espace disque, mais leur accumulation peut rendre l’environnement plus difficile à lire et laisser des interfaces ou règles système sans usage. docker network prune les retire lorsqu’aucun conteneur ne les utilise. Pour un nettoyage prudent des conteneurs, le filtre suivant ne vise que ceux arrêtés depuis plus de 24 heures : docker container prune –filter « until=24h ».

Cache de build et filtres : nettoyer sans ralentir les prochains déploiements

Le cache de build accélère la construction des images en réutilisant des étapes déjà réalisées. Le supprimer peut rendre la prochaine compilation plus longue, surtout si les dépendances doivent être téléchargées de nouveau. Il ne faut donc pas le confondre avec un déchet sans valeur : sur une machine de production ou un agent CI fréquemment sollicité, son maintien peut être un choix rationnel.

docker system prune inclut le cache inutilisé. Pour cibler un constructeur précis, utilisez docker buildx prune ; si plusieurs constructeurs sont configurés, l’option –builder permet de désigner celui à nettoyer. L’option –all élargit également la purge à des images internes et frontales liées au constructeur : vérifiez la documentation de votre version avant d’automatiser cette variante.

Un filtre d’ancienneté aide à éviter les suppressions trop récentes. Par exemple, docker system prune –filter « until=168h » limite le nettoyage aux objets répondant à ce critère temporel. Les possibilités varient selon le type de ressource ; testez la commande dans un environnement non critique et vérifiez précisément ce que le filtre couvre avant de l’ajouter à une tâche planifiée.

Pour une petite équipe, un passage manuel régulier est souvent plus lisible qu’un cron agressif. Si une automatisation est nécessaire, consignez la commande exécutée, surveillez l’espace libéré et gardez les volumes de données hors de la purge générale. La gestion des ressources devient fiable quand le gain de place ne se paie pas en reconstructions imprévues ou en données perdues.

Commande Action principale Point de vigilance
docker container prune Supprime les conteneurs arrêtés Les couches inscriptibles disparaissent avec eux
docker image prune -a Retire les images non utilisées par un conteneur Une image devra être retéléchargée ou reconstruite si elle redevient nécessaire
docker volume prune -a Supprime les volumes inutilisés, y compris nommés Des données persistantes peuvent être effacées
docker buildx prune Nettoie le cache du constructeur sélectionné Les compilations suivantes peuvent ralentir
docker system prune Nettoie plusieurs catégories et le cache inutilisé Les volumes ne sont pas inclus par défaut
découvrez comment utiliser docker system prune pour nettoyer les conteneurs, images, volumes et caches inutilisés en une seule commande.

Automatiser le nettoyage Docker sans effacer les données utiles

Un nettoyage planifié peut convenir à une machine de test reconstruite souvent. Sur un serveur qui héberge des services persistants, une règle identique appliquée partout est rarement une bonne idée. Distinguez les environnements, excluez les volumes contenant des données et commencez par mesurer la fréquence à laquelle les images et caches s’accumulent.

A lire également :  Se connecter à Shopify et résoudre les problèmes d'accès à son admin

Les étiquettes peuvent aider à protéger certaines ressources. Par exemple, une politique d’équipe peut marquer les volumes à conserver, puis utiliser un filtre adapté lors d’une purge ciblée. Il faut toutefois vérifier la syntaxe et le comportement du filtre pour la commande choisie : les options disponibles ne sont pas uniformes entre images, conteneurs, réseaux et volumes.

Dans un pipeline CI/CD, une purge après les compilations peut récupérer de la place, mais elle peut aussi supprimer un cache qui rend les exécutions suivantes plus rapides. Le bon indicateur n’est pas seulement le nombre de gigaoctets récupérés. Comparez aussi la durée des constructions et les échecs liés aux téléchargements ; si le nettoyage ralentit le cycle de livraison, son bénéfice est discutable.

Pour démarrer, notez l’espace occupé avec docker system df, nettoyez d’abord les conteneurs arrêtés et les images pendantes, puis contrôlez le résultat. Ne passez aux volumes nommés qu’après vérification des sauvegardes. Pour aller plus loin, les explications de la mise en place de Docker sur Debian peuvent servir de repère pour cadrer un environnement propre dès le départ.

Une vidéo de démonstration est utile pour visualiser les commandes, mais elle ne remplace pas l’inspection de votre propre hôte. Les noms de volumes, les constructeurs Buildx et les options disponibles dépendent de la configuration installée : adaptez toujours l’exemple à l’environnement concerné.

Que supprime docker system prune par défaut ?

La commande supprime les conteneurs arrêtés, les réseaux inutilisés, les images pendantes et le cache de build inutilisé. Les volumes ne sont pas supprimés par défaut, et les images étiquetées inutilisées restent conservées sans l’option -a.

docker system prune efface-t-il les volumes nommés ?

Non. L’option –volumes de docker system prune concerne les volumes anonymes inutilisés. Pour supprimer aussi les volumes nommés inutilisés, utilisez docker volume prune -a après avoir vérifié les données et les sauvegardes.

Comment éviter de supprimer les ressources récentes ?

Utilisez un filtre d’ancienneté tel que –filter until=168h lorsque la commande et le type de ressource le prennent en charge. Vérifiez la portée du filtre avant de l’automatiser.

Peut-on annuler une commande prune ?

Non. Docker ne propose pas de fonction d’annulation pour les objets supprimés. Les images peuvent parfois être téléchargées ou reconstruites, mais les données d’un volume effacé ne sont récupérables qu’à partir d’une sauvegarde.

alex
Alex Marchais
Fondateur et directeur de création de l’agence Honey & Bees à Reims, Vianney Beaumont met 15+ ans de pub et de web au service d’articles clairs et actionnables (UX, SEO, branding, IA, performance). Amateur de galeries d’art, il relie culture visuelle et stratégie digitale pour des résultats mesurables.

Laisser un commentaire