Entfernen Sie alle enthaltenen Enthalterbasis auf der Grundlage des Docker -Bildnamens

Entfernen Sie alle enthaltenen Enthalterbasis auf der Grundlage des Docker -Bildnamens

Fragen:
Wie kann ich alle Docker -Container basierend auf einem Docker -Bildnamen entfernen?. Ich möchte nicht alle verfügbaren Behälter entfernen, nur diejenigen, die auf einem bestimmten Bild basieren. Zum Beispiel möchte ich alle Behälter basierend auf dem Bild entfernen CentOS: 7.

Antworten:
Um alle Docker -Behälter basierend auf zu entfernen CentOS: 7 Führen Sie den folgenden Linux -Befehl aus:

# Docker PS -a | awk 'print $ 1, $ 2' | Grep Centos: 7 | awk 'print $ 1' | xargs -i  docker rm  

Die vollständigen Trainings- und Rohrleitungen finden Sie unten.

Zunächst müssen wir alle Container -IDs erhalten:

# DOCKER PS -A Container -ID -Bild Befehl erstellten Statusports Namen 16ef47387cbd Fedora: 21 "/bin/bash" vor 5 Stunden (0) vor 5 Stunden romantisch_heisenberg 6ae3e3e3870739 Centos: 7 "/Bin/Bash" vor 5 Stunden vor (0 0,070739 Centos: 7 "/bin/bash" vor 5 Stunden ausgehalten (0 0,070739 Centos: 7 "/Bin" vor 5 Stunden (0 0) ausgeschlossen (0 0,070739) ) Vor 5 Stunden Clever_Rosalind Effd4037ab74 Centos: 7 "/bin/bash" vor 5 Stunden (0) vor 5 Stunden Backstabbing_almeida 72c89af47615 Debian: 8 "/bin/bash" vor 5 Stunden vor 5 Stunden Bersferk_Pasteur 195c78f3eb0B Debian: Debian: Debian: Debian: Debian: Debian: Debian: Debian: Debian: Debian: Debian: Debian: 8 "/bin/bash" vor 5 Stunden beendet (0) vor 5 Stunden Cocky_yonath F060A5BFDB11 Debian: 8 "/bin/bash" vor 5 Stunden (0) vor 5 Stunden Insane_galileo 

Um die Verwirrung zwischen Bild- und Containernamen zu vermeiden, können wir nur behalten Container -ID Und BILD Säulen:



# Docker PS -a | awk 'print $ 1, $ 2' Container ID 16ef47387cbd Fedora: 21 6AE3E3870739 Centos: 7 EFFD4037AB74 Centos: 7 72c89af47615 Debian: 8 195c78f3eb0b Debian: 8 f060a5bf 

Als nächst Grep Befehl zum Filter nur diejenigen Container, die auf einem bestimmten Bildnamen basieren. Lassen Sie uns zum Beispiel alle Container basierend auf filtern CentOS: 7 Bild:

# Docker PS -a | awk 'print $ 1, $ 2' | Grep Centos: 7 6ae3e3870739 CentOS: 7 EFFD4037AB74 CentOS: 7 

Zu diesem Zeitpunkt interessieren wir uns nur an Container -ID:

# Docker PS -a | awk 'print $ 1, $ 2' | Grep Centos: 7 | awk 'print $ 1' 6AE3E3870739 EFFD4037AB74 

Zuletzt können wir verwenden Xargs und entfernen Sie die restlichen Behälter -IDs:

# Docker PS -a | awk 'print $ 1, $ 2' | Grep Centos: 7 | awk 'print $ 1' | Xargs -i  Docker rm  6AE3E3870739 EFFD4037AB74 

Verwandte Linux -Tutorials:

  • Beispiele für die Verwendung des XARGS -Befehls unter Linux
  • Xargs für Anfänger mit Beispielen
  • Multi-Thread-Xargs mit Beispielen
  • So grep für Text in Bash -Skripten korrekt Grep
  • Beispiele des Linux-Komplexes Bash-Ein-Liner
  • Prozesslistenverwaltung und automatische Prozessabschluss
  • So montieren Sie das ISO -Bild unter Linux
  • Dinge zu installieren auf Ubuntu 20.04
  • Big Data Manipulation zum Spaß und Gewinn Teil 2
  • So benennen Sie mehrere Dateien unter Linux um