Wie kann ich alle meine Docker-Bilder entfernen?

8

Manchmal möchte ich einfach alles aus dem Docker räumen und mit einer sauberen Tafel beginnen. Gibt es eine systematische Möglichkeit, einfach alle meine Docker-Container und -Bilder zu entfernen?

Behälter

$ docker ps -a | head
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS                     PORTS               NAMES
7b055e9e5f1f        fedora:latest        /bin/sh                6 days ago          Exited (0) 6 days ago                          ecstatic_colden        
40da968258eb        fedora:latest        /bin/sh                6 days ago          Exited (127) 6 days ago                        naughty_thompson       
5be4581afad6        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          kickass_wright         
4d6c33d4be6d        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          furious_fermat         
db7a29bdbc2d        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          mad_hawking            
e6b7365690ce        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          trusting_ardinghelli   
15655c21fcd3        8018e08e6a58         /bin/sh -c 'apt-get    3 weeks ago         Exited (100) 3 weeks ago                       drunk_bardeen          
607547aabbca        f02ed0c206d5         /bin/sh -c 'apt-get    3 weeks ago         Exited (100) 3 weeks ago                       cocky_franklin         
f031f28bd29a        f02ed0c206d5         /bin/sh -c 'apt-get    3 weeks ago         Exited (100) 3 weeks ago                       stoic_mcclintock      

Bilder

$ docker images -a | head
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker              master              266a5746d179        2 weeks ago         1.528 GB
<none>              <none>              c1f6a4b1345c        3 weeks ago         1.526 GB
<none>              <none>              6558c36ecb3f        3 weeks ago         1.526 GB
<none>              <none>              b1b7c7a6b6a7        3 weeks ago         1.24 GB
<none>              <none>              0bf9d6bf97e9        3 weeks ago         1.182 GB
<none>              <none>              48c444f1d2e7        3 weeks ago         1.182 GB
<none>              <none>              5c5c172a0038        3 weeks ago         1.182 GB
<none>              <none>              de5e09bb86c1        3 weeks ago         1.182 GB
<none>              <none>              785aaf265f18        3 weeks ago         1.182 GB
slm
quelle

Antworten:

9

Der einfachste Weg, dies zu tun, besteht darin, die folgenden 3 Schritte auszuführen:

  1. Stoppen Sie alle Container
  2. Entfernen Sie alle Behälter
  3. Entfernen Sie alle Bilder

Um dies zu erreichen, können Sie die Funktionen docker psund docker imagesBefehle verwenden, um Ihnen einfach eine Liste von IDs über dort -qoder einen --quietSchalter zurückzugeben. Dadurch wird die ganze Menge beseitigt, die diese beiden Befehle normalerweise zurückgeben, und Sie erhalten nur eine schöne Liste, wie folgt:

Standardausgabe
$ docker ps -a
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS                     PORTS               NAMES
7b055e9e5f1f        fedora:latest        /bin/sh                6 days ago          Exited (0) 6 days ago                          ecstatic_colden        
40da968258eb        fedora:latest        /bin/sh                6 days ago          Exited (127) 6 days ago                        naughty_thompson      
Leise Ausgabe
$ docker ps -aq
7b055e9e5f1f
40da968258eb
5be4581afad6
4d6c33d4be6d

HINWEIS: Beides docker imagesund docker psauch den Schalter -aoder verwenden --all, der Ihnen alle IDs anzeigt.

Sie können diese Ausgabe verwenden, um Docker-Befehle zu erstellen, die die Ausgabe anderer Docker-Befehle wie folgt verwenden:

$ docker rm $(docker ps -qa)

Das Haus putzen

Um Ihre Aufgabe zu erfüllen, alles zu entfernen, verwenden Sie die folgenden Befehle:

$ docker stop $(docker ps -qa)
$ docker rm $(docker ps -qa)
$ docker rmi $(docker images -qa)
slm
quelle