Si vous avez besoin d'une plate-forme de conteneur complète et open-source pour créer une indépendance entre les applications et l'infrastructure, Docker est votre pari le plus sûr. Si vous avez eu l’occasion de l’utiliser, vous savez déjà à quel point il est capable et facile à utiliser.
Un grand nombre d'entreprises de cloud computing et d'informatique le trouvent extrêmement utile, et sa popularité est définitivement méritée.
Pourtant, cela ne le rend pas parfait. La preuve en est la limitation liée à la suppression d'images, de volumes, de conteneurs et de réseaux. Même si ces commandes sont disponibles, elles ne sont pas aussi complètes que les utilisateurs pourraient vouloir.
Ici, vous verrez les principaux problèmes rencontrés par les utilisateurs, ainsi que leurs solutions. Vous apprendrez comment supprimer facilement des images et des conteneurs.
Le problème
La technologie des conteneurs permet de visualiser les systèmes d'exploitation. Il permet à une application d'être emballée avec tout ce dont elle a besoin pour l'exécuter, ce qui lui permet d'agir indépendamment du système d'exploitation.
Les images de conteneur sont des packages d'applications exécutables autonomes qui incluent tout ce qui est nécessaire au bon fonctionnement d'une application. Runtime, code, configurations, outils système et bibliothèques sont contenus dans chaque image.
Lorsque vous utilisez Docker, ces images s’accumulent. Au fil du temps, un grand nombre d'images, de volumes de données et de conteneurs inutilisés s'accumulent, ce qui crée un environnement Docker saturé. Lorsque cela se produit, il est nécessaire d'actualiser l'environnement pour que la plate-forme fonctionne comme il se doit.
Plusieurs commandes peuvent rendre cela possible. Voyons donc les principales façons de désencombrer votre environnement Docker.
Suppression des images Docker
Avant de pouvoir supprimer les images inutiles, vous devez les distinguer des images utiles. Cela peut être fait facilement en répertoriant toutes les images que votre système contient à l'aide de la commande de gestion des images.
Voici à quoi ça ressemble:
$ docker image #list the most recently created images
Ou
$ docker image -a #list all images
Avec la deuxième commande, vous verrez toutes vos images de menu fixe. Tout ce que vous avez à faire est de trouver les "images pendantes". Ce sont toutes des images Docker qui ne contiennent pas de balise. Sans la balise, il n'y a aucun lien avec les images marquées, ce qui signifie qu'elles ne sont plus utiles.
Vous pouvez supprimer une ou plusieurs images à l'aide de l'ID d'image. Pour ce faire, utilisez l'une de ces commandes:
$ docker rmi d65c4d6a3580 #remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
Une solution plus pratique consiste à utiliser l'indicateur de filtre -f pour répertorier toutes les images pendantes.
Pour supprimer ces images et nettoyer l’espace disque, utilisez l’une des commandes suivantes:
$ docker image prune #interactively remove dangling images
Ou
$ docker rmi $(docker images -q -f dangling=true)
Vous pouvez supprimer toutes les images Docker de la même manière. Répertoriez-les en utilisant la commande $ docker images –a puis supprimez-les en procédant comme suit:
$ (docker rmi $(docker images -a -q)
Une autre option consiste à supprimer les images qui suivent un certain motif. Pour les lister, utilisez la commande suivante:
$ docker images -a | grep "pattern"
Ensuite, supprimez-les en utilisant:
$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Retrait des conteneurs
Une autre chose que vous voudrez peut-être faire après avoir travaillé avec Docker pendant un certain temps est de supprimer un ou plusieurs conteneurs.
Semblable à la suppression d'images, vous devez d'abord les répertorier à l'aide de la commande suivante:
$ docker ps
Ou
$ docker ps -a
Lorsque vous trouvez les conteneurs à supprimer, utilisez leur ID pour le faire.
$ docker rm 0fd99ee0cb61 #remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
Si le conteneur que vous essayez de supprimer est en cours d'exécution, vous pouvez utiliser la commande suivante pour l'arrêter:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Enfin, vous pouvez arrêter et supprimer tous les conteneurs inutiles à l'aide des commandes suivantes:
$ docker stop $(docker ps -a -q) #stop all containers
$ docker container prune #interactively remove all stopped containers
Ou
$ docker rm $(docker ps -qa)
Cela vous permettra de libérer un espace disque précieux et de repartir à zéro.
Le dernier mot
Comme vous pouvez le constater, la suppression des images et des conteneurs Docker n’est pas aussi décourageante que possible. Maintenant que vous connaissez ces commandes, vous pouvez mieux contrôler votre expérience Docker.
Bien sûr, ce ne sont que quelques-unes des commandes, et vous pouvez utiliser une variété d'autres combinaisons. Néanmoins, ils feront très bien le travail, alors n'hésitez pas à les essayer.