GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment supprimer des images, des conteneurs, des réseaux et des volumes Docker

Présentation

Les conteneurs Docker sont conçus pour fournir un environnement autosuffisant, avec toutes les bibliothèques et configurations nécessaires à l'exécution du logiciel. Au cours du développement, ils peuvent se désorganiser avec des composants anciens, obsolètes et inutilisés.

Dans ce guide, vous apprendrez à organiser un environnement Docker en supprimant les images, conteneurs, volumes et réseaux Docker.

L'utilisation de ces commandes rend la gestion des conteneurs Docker rapide et simple.

Prérequis

  • Système Linux exécutant Docker
  • Accès à un terminal/ligne de commande (Ctrl +Alt +T sur Ubuntu, Alt +F2 sur CentOS)
  • Compte utilisateur avec sudo privilèges

Comment supprimer les conteneurs Docker

Un conteneur crée un environnement spécifique dans lequel un processus peut être exécuté. De nombreux conteneurs sont créés, testés et abandonnés au cours du cycle de développement.

Par conséquent, il est important de savoir comment trouver les conteneurs inutiles et les supprimer.

Arrêter les conteneurs

1. Tout d'abord, répertoriez tous les conteneurs Docker à l'aide de la commande :

docker container ls -a

La sortie affiche une liste de tous les conteneurs en cours d'exécution, leurs ID, noms, images, statut et autres paramètres.

Vous pouvez également générer une liste de tous les conteneurs uniquement par leur ID numérique, exécutez la commande :

docker container ls -aq 

2. Pour arrêter un conteneur spécifique , saisissez ce qui suit :

docker container stop [container_id]

Remplacez [container_id] avec l'ID numérique du conteneur de votre liste.

Vous pouvez entrer plusieurs ID de conteneur dans la même commande.

Pour arrêter tous les conteneurs , saisissez :

docker container stop $(docker container ls -aq)

Cela oblige Docker à utiliser la liste de tous les ID de conteneur comme cible de l'stop commande.

Supprimer un conteneur arrêté

Pour supprimer un conteneur arrêté , utilisez la commande :

docker container rm [container_id]

Comme auparavant, cela supprime un conteneur avec l'ID que vous spécifiez.

Supprimer tous les conteneurs arrêtés

Pour supprimer tous les conteneurs arrêtés :

docker container rm $(docker container ls -aq)

Supprimer tous les conteneurs Docker

Pour nettoyer Docker et recommencer à zéro, entrez la commande :

docker container stop $(docker container ls -aq) && docker system prune -af --volumes

Cela indique à Docker d'arrêter les conteneurs répertoriés entre parenthèses.

À l'intérieur des parenthèses, vous demandez à Docker de générer une liste de tous les conteneurs avec leur ID numérique. Ensuite, les informations sont renvoyées à l'container stop commande et arrête tous les conteneurs.

Le && ordonne à Docker de supprimer tous les conteneurs et volumes arrêtés.

-af indique que cela devrait s'appliquer à tous les conteneurs (a ) sans confirmation requise (f ).

Supprimer le conteneur avec des filtres

Vous pouvez également spécifier de supprimer tous les objets qui ne correspondent pas à une étiquette spécifiée.

Pour cela, utilisez la commande :

docker container prune --filter="label!=maintainer=Jeremy"

Cette commande indique à Docker de supprimer tous les conteneurs qui ne sont pas étiquetés avec un mainteneur de "jeremy ." Le != commande est une notation logique qui signifie "différent de ."

Une répartition du label commandes :

  • label=<key>
  • label=<key>=<value>
  • label!=<key>
  • label!=<key>=<value>

L'utilisation de ces termes conjointement avec des libellés vous donne un contrôle approfondi sur la suppression d'éléments dans Docker.

Comment supprimer des images Docker

Les images Docker sont des fichiers qui incluent plusieurs couches utilisées pour exécuter du code dans un conteneur.

Les images peuvent passer par de nombreuses itérations au cours du développement. Les images anciennes et obsolètes peuvent encombrer votre système, occuper de l'espace de stockage et compliquer les recherches.

1. Pour supprimer une image Docker , commencez par lister toutes les images de votre système :

docker image ls

La sortie affiche les images Docker disponibles localement, comme indiqué ci-dessous.

2. Notez l'ID D'IMAGE – c'est l'identifiant utilisé pour supprimer l'image.

3. Ensuite, supprimez la ou les images indésirables :

docker image rm [image_id1] [image_id2]

Remplacer [image_id1] et [image_id2] avec l'ID d'image que vous avez extrait de la première commande. Vous pouvez saisir un seul identifiant d'image ou plusieurs identifiants à supprimer.

Le système peut répondre à votre demande avec un message d'erreur indiquant qu'il y a un conflit et qu'il est incapable de supprimer la référence du référentiel. Cela indique qu'un conteneur utilise l'image. Vous devez d'abord supprimer le conteneur avant de pouvoir supprimer l'image.

Supprimer des images Docker avec des filtres

Au moment de la publication, les seuls filtres pris en charge sont until et label . Pourtant, ce sont des outils puissants pour gérer les ressources Docker.

Utilisez le until filtre pour supprimer toutes les ressources jusqu'à un moment donné.

Saisissez ce qui suit :

docker image prune -a --filter "until=24h"

Cela supprime tous (-a ) images créées au cours des dernières 24 heures. La commande peut être utilisée pour les conteneurs, les images et les filtres. Assurez-vous de spécifier l'actif que vous souhaitez supprimer.

Le until La commande accepte les horodatages Unix, les horodatages au format date ou une durée (30 m, 4 h, 2 h 25 m) calculée par rapport à l'heure de la machine.

Utilisez le label commande pour supprimer les actifs définis par des étiquettes.

Saisissez ce qui suit :

docker image prune --filter="label=old"

Cela supprime toutes les images Docker qui ont été étiquetés "anciens".

Le filtrage peut également être utilisé pour définir une valeur spécifique d'un libellé.

Par exemple, si un conteneur est étiqueté avec une clé "maintainer" et que la valeur de "maintainer" est soit "bill" soit "jeremy", vous pouvez taper :

docker container prune --filter="label=maintainer=bill"

Docker supprime ensuite tous les conteneurs avec le libellé "maintainer" avec une valeur de "bill".

Comment supprimer des volumes Docker

Un volume est utilisé pour stocker des données Docker.

Il permet de stocker et d'organiser les données en dehors des conteneurs de manière à ce qu'elles soient accessibles à plusieurs conteneurs.

1. Utilisez la commande suivante pour générer une liste de tous les volumes Docker disponibles :

docker volume ls

Prenez note du NOM DU VOLUME vous souhaitez supprimer.

2. Saisissez ensuite :

docker volume rm VolumeName

Assurez-vous de remplacer VolumeName avec le nom réel que vous avez généré avec la commande précédente.

Si le volume est utilisé par un conteneur existant, le système répond par une erreur. Cela signifie qu'il faut d'abord retirer le conteneur.

Comment supprimer les réseaux Docker

Les réseaux Docker permettent à différents conteneurs de communiquer librement entre eux tout en empêchant le trafic provenant de l'extérieur du réseau. Cela se fait généralement avec un réseau de pont Docker.

Le prune La commande supprime tous les réseaux inutilisés.

Supprimer un seul réseau

1. Afficher une liste de tous les réseaux Docker existants avec la commande :

docker network ls

2. Notez l'ID RÉSEAU – il s'agit de l'identifiant utilisé pour supprimer un réseau spécifique. Saisissez ensuite :

docker network rm [networkID]

Remplacez [networkID] avec l'ID que vous avez capturé à partir de la première commande.

Vous pouvez recevoir un message d'erreur indiquant que le réseau a des points de terminaison actifs. Cela signifie que le réseau est actuellement utilisé par des conteneurs. Vous devez supprimer les conteneurs qui utilisent le réseau avant de pouvoir supprimer le réseau.

Supprimer tous les objets Docker inutilisés

Le prune La commande supprime automatiquement toutes les ressources qui ne sont pas associées à un conteneur. Il s'agit d'un moyen simplifié de nettoyer les images, les conteneurs, les volumes et les réseaux inutilisés.

Dans une fenêtre de terminal, saisissez ce qui suit :

docker system prune

Des drapeaux supplémentaires peuvent être inclus :

  • -a Pour inclure les conteneurs arrêtés et les images inutilisées
  • -f Ignore la boîte de dialogue de confirmation
  • --volumes Supprime tous les volumes inutilisés

De plus, vous pouvez spécifier un seul type d'objet à supprimer, au lieu de l'ensemble de l'environnement :

docker container prune
docker image prune
docker volume prune
docker network prune

Exécution de docker system prune -a supprime les images inutilisées et pendantes. Les images utilisées dans un conteneur, qu'elles soient en cours d'exécution ou fermées, ne seront PAS affectées.

Répertorier toutes les ressources Docker

Saisissez les commandes suivantes pour afficher les ressources :

docker container ls
docker image ls
docker volume ls
docker network ls
docker info

La liste ci-dessus répertorie le nombre de conteneurs, d'images et d'informations sur l'installation de Docker. Ces commandes peuvent vous aider à localiser et à identifier les ressources que vous souhaitez conserver ou supprimer.

Les drapeaux suivants peuvent également être ajoutés :

  • -a afficher toute une ressource (y compris celles qui sont arrêtées)
  • -q ou --quiet (afficher uniquement l'identifiant numérique)

Ubuntu
  1. Comment supprimer toutes les images Docker, les conteneurs, les volumes, les réseaux et les ressources inutilisées

  2. Comment créer, répertorier et supprimer des conteneurs Docker sous Linux

  3. Comment partager des données entre des conteneurs Docker

  4. Comment quitter un conteneur Docker

  5. Comment supprimer tous les conteneurs Docker

Comment vérifier l'utilisation de l'espace disque pour les images Docker, les conteneurs et les volumes

Comment exécuter des conteneurs Docker

Comment supprimer les conteneurs Docker

Comment arrêter les conteneurs Docker

Comment nommer ou renommer les conteneurs Docker

Comment gérer les conteneurs Docker