Docker Rimozione di immagini


Esempio

Il comando docker rmi viene utilizzato per rimuovere le immagini:

docker rmi <image name>

Il nome completo dell'immagine deve essere usato per rimuovere un'immagine. A meno che l'immagine non sia stata taggata per rimuovere il nome del registro, è necessario specificarla. Per esempio:

docker rmi registry.example.com/username/myAppImage:1.3.5

È anche possibile rimuovere le immagini con il loro ID invece:

docker rmi 693bce725149

Per comodità, è possibile rimuovere le immagini con il loro ID immagine specificando solo i primi caratteri dell'ID immagine, a condizione che la sottostringa specificata non sia ambigua:

docker rmi 693

Nota: le immagini possono essere rimosse anche se esistono contenitori esistenti che utilizzano quell'immagine; docker rmi semplicemente "disegna" l'immagine.

Se nessun contenitore utilizza un'immagine, viene raccolto dai rifiuti. Se un contenitore utilizza un'immagine, l'immagine verrà raccolta dopo che tutti i contenitori che lo utilizzano vengono rimossi. Per esempio:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                     PORTS               NAMES
5483657ee07b        hello-world         "/hello"            Less than a second ago   Exited (0) 2 seconds ago                       small_elion

$ docker rmi hello-world
Untagged: hello-world:latest

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
5483657ee07b        693bce725149        "/hello"            Less than a second ago   Exited (0) 12 seconds ago                       small_elion

Rimuovi tutte le immagini senza contenitori avviati

Per rimuovere tutte le immagini locali senza contenitori avviati, puoi fornire un elenco delle immagini come parametro:

docker rmi $(docker images -qa)

Rimuovi tutte le immagini

Se si desidera rimuovere le immagini indipendentemente dal fatto che abbiano o meno un contenitore avviato, utilizzare il flag force ( -f ):

docker rmi -f $(docker images -qa)

Rimuovi le immagini penzolanti

Se un'immagine non è contrassegnata e non viene utilizzata da alcun contenitore, è "penzolante" e può essere rimossa in questo modo:

docker images -q --no-trunc -f dangling=true | xargs -r docker rmi