Prérequis: Docker
Dans Docker , si nous avons quitté un conteneur sans l'arrêter, nous devons alors l'arrêter manuellement car il ne s'est pas arrêté à la sortie. De même, pour les images, nous devons les supprimer de haut en bas car certains conteneurs ou images peuvent dépendre des images de base, nous pouvons à tout moment télécharger l'image de base sur. C'est donc une bonne idée de supprimer les images indésirables ou pendantes de la machine actuelle.
Comment supprimer les images dans Docker ?
Supprimer l'image
Pour supprimer l'image par ImageId/Name, nous pouvons utiliser la commande suivante. Pour en savoir plus sur la création d'une image Docker à l'aide de Dockerfile, reportez-vous au Concept de Dockerfile .
docker rmi>
Forcer la suppression de l'image
Pour forcer la suppression des images du docker par ImageID/Name, nous pouvons utiliser la commande suivante.
docker rmi -f>
Note: Nous ne pouvons pas supprimer les images de force ou normalement pendant que le conteneur est en cours d'exécution.
Images pendantes
Les images pendantes sont celles qui ne correspondent ni au référentiel ni à la balise. La commande utilisée consiste à supprimer les images pendantes. Pour en savoir plus sur la façon de baliser les images Docker en vous référant aux balises d'image Docker .
docker image prune>
Supprimer toutes les images
Nous pouvons supprimer toutes les images de la machine Docker pour supprimer l'encombrement et l'espace indésirables dans le système. Nous pouvons de toute façon récupérer la dernière version ou une image versionnée spécifique à partir du registre Docker ou du cache.
docker rmi $(docker images -q)>

Comment supprimer des conteneurs dans Docker
Avant de supprimer les conteneurs, nous devons d'abord arrêter le conteneur pour cela, nous utilisons la commande.
docker stop>
La différence entre Docker Stop et Docker Kill
Docker stop enverra d'abord un signal SIGTERM avant de tuer le processus avec un signal SIGKILL et un délai de grâce. Lorsque Docker kill envoie SIGKILL, il met immédiatement fin au processus.
- Arrêtez tous les conteneurs en cours d'exécution : Afin d'arrêter les conteneurs qui ne sont pas sortis. Cela peut se produire lorsque la commande utilisée dans l'image Docker reste en cours d'exécution. La commande doit être quittée, ce qui arrêtera à son tour le conteneur. Pour arrêter le conteneur lorsque vous n'avez pas quitté le conteneur en arrêtant la commande, vous devez exécuter la commande suivante.
docker stop $(docker ps -aq)>
- Supprimer le conteneur : Si le conteneur est arrêté, nous pouvons utiliser la commande suivante pour supprimer le conteneur.
docker rm>
- Forcer la suppression du conteneur : nous pouvons forcer la suppression des conteneurs pendant leur exécution sans les arrêter en utilisant la commande ci-dessous.
docker rm -f>

Supprimer tous les conteneurs
Pour supprimer tous les conteneurs de la machine Docker, nous devons obtenir les identifiants de tous les conteneurs. On peut simplement récupérer les identifiants des conteneurs avec la commande docker ps-aq , puis en utilisant la commande docker rm, nous pouvons supprimer tous les conteneurs de la docker-machine.
docker rm $(docker ps -aq)>

Supprimer tous les conteneurs arrêtés
Pour supprimer tous les conteneurs arrêtés/sortis, nous pouvons utiliser des filtres dans l'argument de la commande ps. Nous ne pouvons pas supprimer directement un conteneur s’il n’est pas arrêté. Nous pouvons arrêter les conteneurs qui ne sont pas quittés ou qui sont en cours d'exécution en utilisant l'argument -f de la commande ps dans Docker, l'option -f ou –filter prend en compte un filtre comme status=exited ou status=running ou name et ainsi de suite. Nous pouvons filtrer pour arrêter les conteneurs spécifiques en fonction des besoins.
docker rm $(docker ps -aq --filter status='exited')>
Après avoir filtré le conteneur en cours d'exécution, nous pouvons utiliser la commande stop pour arrêter ces conteneurs avec le -q pour faire taire les identifiants numériques associés à ces conteneurs.
docker stop $(docker ps --filter status=running -q)>
Cela arrêtera tous les conteneurs et nous pourrons ainsi maintenant retirer les conteneurs de la machine docker. On peut même filtrer les conteneurs qui sont arrêtés ici pour supprimer uniquement ceux dont le statut est quitté.
docker rm $(docker ps --filter status=exited -q)>

- La commande ci-dessous a supprimé tous les conteneurs qui sont dans l'état existant. Cela signifie que les conteneurs se sont arrêtés.
docker container prune>
