Principes de base de Docker – Comment supprimer des images, des conteneurs et des volumes Docker ?

OĂč vont les images, les conteneurs et les volumes Docker lorsqu’ils ne sont plus utilisĂ©s ? Devriez-vous tous les supprimer lorsque vous avez terminĂ© ? Ou devriez-vous les laisser derriĂšre vous au cas oĂč vous voudriez recommencer ? Comment pouvez-vous supprimer les images, conteneurs et volumes Docker dont vous n’avez plus besoin ? Voyons comment supprimer des images, des conteneurs et des volumes Docker dans ce guide des bases de Docker.

Docker Basics - How To Remove Docker Images, Containers, and Volumes

docker logo

Suppression des images Docker

Vous pouvez utiliser l’une des deux commandes suivantes pour supprimer une image en cours d’exĂ©cution : docker rmi ou docker commit. Ces deux commandes prennent une rĂ©fĂ©rence (soit un ID ou une Ă©tiquette) comme premier argument et supprimeront tout ce qui est associĂ© Ă  cette image (Ă  l’exception des volumes). Si plusieurs conteneurs de cette image sont en cours d’exĂ©cution, sachez que lorsque vous lancez l’une de ces commandes, tous ces conteneurs seront arrĂȘtĂ©s. Lorsqu’ils redĂ©marreront, ils repartiront de zĂ©ro en utilisant une nouvelle image de base. Dans la plupart des cas, vous souhaitez supprimer les images via docker-compose rm [container] [service]. Cela vous donne le temps d’arrĂȘter vos services dĂ©pendants afin qu’ils n’essaient pas d’utiliser des ressources qui ne sont plus disponibles dans leur script de redĂ©marrage. La suppression des conteneurs est similaire Ă  celle des images. Vous devrez spĂ©cifier Ă  la fois un ID ou un nom et un drapeau de force(-f) s’il y a des processus actifs Ă  l’intĂ©rieur. La syntaxe est similaire mais un peu plus compliquĂ©e en raison des diffĂ©rences entre docker ps et docker rm. Comme il peut y avoir des processus actifs, il y a toujours un risque Ă  supprimer de force quelque chose de votre systĂšme. Assurez-vous donc de savoir exactement ce que vous faites avant de tenter des opĂ©rations comme rm -rf. Enfin, nous en arrivons Ă  la suppression des volumes.

Removing Docker Images

Suppression des conteneurs Docker

Une fois que vous avez fini d’utiliser un conteneur Docker, vous pouvez le supprimer avec docker rm.

La commande suivante supprimera un conteneur appelé myfirstcontainer : docker rm myfirstcontainer.

Veillez Ă  arrĂȘter votre conteneur avant de le retirer.

Suppression des images Docker : Une image Docker est constituĂ©e de couches en lecture seule qui contiennent les fichiers de votre application. Vous pouvez utiliser docker rmi pour supprimer les images aprĂšs qu’elles aient Ă©tĂ© poussĂ©es vers un registre. La commande suivante supprime une image nommĂ©e redis_1 : docker rmi redis_1. N’oubliez pas qu’une image doit ĂȘtre arrĂȘtĂ©e avant d’ĂȘtre supprimĂ©e.

Suppression des volumes : Les volumes sont juste des rĂ©pertoires dans les conteneurs qui sont montĂ©s dans un ou plusieurs endroits sur les machines hĂŽtes pour la persistance ou la portabilitĂ©. AprĂšs qu’un volume a Ă©tĂ© crĂ©Ă©, vous pouvez utiliser docker volume rm pour le supprimer. Utilisez la commande suivante pour supprimer un volume de donnĂ©es appelĂ© dbdata : docker volume rm dbdata. Cela effacera dĂ©finitivement toutes les donnĂ©es contenues dans ce rĂ©pertoire Ă  l’intĂ©rieur de votre base de donnĂ©es en cours d’exĂ©cution. ExĂ©cuter les trois ensemble : Si vous voulez nettoyer tout ce qui est liĂ© Ă  un projet – images, conteneurs et volumes – vous pouvez exĂ©cuter les trois commandes en mĂȘme temps comme indiquĂ© ci-dessous : sudo docker system prune -all. ATTENTION ! Cela dĂ©truira toutes les images, tous les conteneurs et tous les volumes crĂ©Ă©s localement qui ne sont pas en cours d’exĂ©cution.

 

Suppression des volumes Docker

Vous avez crĂ©Ă© un conteneur en utilisant un volume de votre machine hĂŽte, mais vous souhaitez maintenant supprimer ce volume ? Il y a plusieurs façons de le faire. La plus directe est de lister tous vos volumes avec docker volume ls, puis de les supprimer un par un avec docker volume rm. Vous pouvez Ă©galement utiliser docker system prune qui supprimera toutes les donnĂ©es inutilisĂ©es de vos conteneurs. C’est assez simple lorsque vous n’avez qu’un ou deux volumes. Mais si vous avez des dizaines ou des centaines de conteneurs en jeu, cela devient plus proche d’une fouille archĂ©ologique. Heureusement, il existe une autre solution ! L’essaim de Docker donne aux utilisateurs l’accĂšs aux services de l’essaim appelĂ©s  » raisons « . Il s’agit essentiellement de dĂ©clenchements qui s’exĂ©cutent lorsque des Ă©vĂ©nements spĂ©cifiques se produisent sur votre cluster. Vous pouvez configurer plusieurs raisons pour que votre cluster swarm nettoie automatiquement les anciens volumes. Vous devez cependant utiliser le mode Swarm avec au moins la version 1.12 pour que les raisons fonctionnent. Pourquoi tout le monde n’utilise-t-il pas simplement les montages de volumes ? Toutes choses Ă©gales par ailleurs, le montage d’un rĂ©pertoire local en tant que volume prĂ©sente de nombreux avantages par rapport Ă  la crĂ©ation directe d’un stockage persistant dans Docker : SimplicitĂ© : Un rĂ©pertoire montĂ© existera toujours, peu importe le nombre de fois oĂč vous redĂ©marrez votre serveur ou supprimez des conteneurs.

Écrit par

Matthieu Robin Hidora
Matthieu ROBIN
25/03/2022

Matthieu Robin est le CEO de Hidora, un leader stratĂ©gique expĂ©rimentĂ©, un ancien administrateur systĂšme qui a gĂ©rĂ© et configurĂ© plus d’environnements manuellement que quiconque sur la planĂšte et aprĂšs avoir compris que cela pouvait ĂȘtre fait en quelques clics a crĂ©Ă© Hidora SA. Suivez-le sur Twitter.

Recevoir nos actualités