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