Supprimer tous les contenus en fonction du nom de l'image docker

Supprimer tous les contenus en fonction du nom de l'image docker

Des questions:
Comment puis-je supprimer tous les conteneurs Docker en fonction d'un nom d'image docker. Je ne souhaite pas supprimer tous les conteneurs disponibles, seulement ceux qui sont basés sur une image particulière. Par exemple, je voudrais supprimer tous les conteneurs en fonction de l'image Centos: 7.

Répondre:
Pour supprimer tous les conteneurs Docker en fonction de Centos: 7 Exécutez la commande Linux suivante:

# docker ps -a | awk 'print $ 1, $ 2' | grep Centos: 7 | awk 'print $ 1' | xargs -i  docker rm  

Les explications complètes d'entraînement et de tuyauterie peuvent être trouvées ci-dessous.

Tout d'abord, nous devons obtenir tous les ID de conteneur:

# Docker PS -a Container ID Commande d'image Créé les noms de ports d'état Créé 16ef47387cbd Fedora: 21 "/ bin / bash" il y a 5 heures sorties (0) il y a 5 heures romantic_heisenberg 6ae3e3870739 Centos: 7 "/ bin / bash" il y a 5 heures (0 ) Il y a 5 heures Clever_Rosalind Effd4037ab74 Centos: 7 "/ bin / bash" il y a 5 heures sort 8 "/ bin / bash" il y a 5 heures sort 

Pour éviter la confusion entre l'image et le nom du conteneur, nous ne pouvons garder que ID de conteneur et IMAGE Colonnes:



# docker ps -a | awk 'print $ 1, $ 2' id de conteneur 16ef47387cbd fedora: 21 6ae3e3870739 Centos: 7 Effd4037ab74 Centos: 7 72C89af47615 Debian: 8 195c78f3eb0b Debian: 8 F060A5BFDB11 Debian: 8 

Ensuite, nous pouvons tuer la sortie ci-dessus grep commande pour filtrer uniquement les conteneurs basés sur un certain nom d'image. Par exemple, filtrons tous les conteneurs en fonction de Centos: 7 image:

# docker ps -a | awk 'print $ 1, $ 2' | Grep Centos: 7 6Ae3E3870739 CentOS: 7 EFFD4037AB74 CENTOS: 7 

À ce stade, nous ne sommes intéressés que par ID de conteneur:

# docker ps -a | awk 'print $ 1, $ 2' | grep Centos: 7 | awk 'print $ 1' 6ae3e3870739 effd4037ab74 

Enfin, nous pouvons utiliser xargs et supprimer les identifiants du conteneur restant:

# docker ps -a | awk 'print $ 1, $ 2' | grep Centos: 7 | awk 'print $ 1' | xargs -i  docker rm  6ae3e3870739 effd4037ab74 

Tutoriels Linux connexes:

  • Exemples sur la façon d'utiliser la commande xargs sur Linux
  • xargs pour les débutants avec des exemples
  • Xargs multithreads avec des exemples
  • Comment correctement grep pour le texte dans les scripts bash
  • Exemples de liner complexe Linux Bash
  • Gestion de la liste des processus et terminaison automatique des processus
  • Comment monter l'image ISO sur Linux
  • Choses à installer sur Ubuntu 20.04
  • Manipulation de Big Data pour le plaisir et le profit Partie 2
  • Comment renommer plusieurs fichiers sur Linux