Docker è uno dei prodotti più popolari nelle organizzazioni al giorno d'oggi. Rende il processo di gestione delle applicazioni nei container molto semplice. Docker offre portabilità, prestazioni, agilità, scalabilità e isolamento alle applicazioni poiché utilizza i container. I container sono più portabili e richiedono meno risorse rispetto alle macchine virtuali. Lavorando con Docker, si tende ad accumulare un numero eccessivo di immagini, volumi e container inutilizzati. Queste risorse ingombrano l'output e consumano molto spazio su disco. In questo tutorial imparerai come ripulire le risorse Docker e organizzare il tuo server.
Elimina tutto
Puoi ripulire tutte le risorse Docker, inclusi immagini, container arrestati, volumi e reti con un singolo comando. Puoi scegliere una delle opzioni seguenti:
Riferimento: Le risorse dangling sono quelle che non sono correlate a nessun container in esecuzione.
Opzione 1:
|
1 |
docker system prune |
– tutti i container arrestati
– tutte le reti non utilizzate da almeno un container
– tutte le immagini dangling
– tutta la cache di build dangling
Opzione 2:
|
1 |
docker system prune -a |
– tutti i container arrestati
– tutte le reti non utilizzate da almeno un container
– tutte le immagini senza almeno un container associato ad esse
– tutta la cache di build
Opzione 3:
|
1 |
docker system prune -a --volumes |
– tutti i container arrestati
– tutte le reti non utilizzate da almeno un container
– tutti i volumi non utilizzati da almeno un container
– tutte le immagini senza almeno un container associato ad esse
– tutta la cache di build

Rimozione delle immagini Docker
Per rimuovere un'immagine specifica, è necessario conoscerne l'ID. Puoi trovare l'ID dell'immagine di un container Docker utilizzando il comando “docker images”, come spiegato nel nostro tutorial su come installare & utilizzare Docker su Ubuntu.
Elenca immagini:
|
1 |
docker images |
Rimuovi immagine:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker rmi <Immagine ID> Esempio: docker rmi 1d622ef86b13 Output: Untagged: ubuntu:latest Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7 Deleted: sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01 Deleted: sha256:279e836b58d9996b5715e82a97b024563f2b175e86a53176846684f0717661c3 Deleted: sha256:39865913f677c50ea236b68d81560d8fefe491661ce6e668fd331b4b680b1d47 Deleted: sha256:cac81188485e011e56459f1d9fc9936625a1b62cacdb4fcd3526e5f32e280387 Deleted: sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f |
Rimozione delle immagini dangling:
Quando crei un'immagine Docker, questa ha generalmente diversi livelli di immagini. Le immagini dangling sono i livelli che non hanno alcuna relazione con alcuna immagine taggata. Le immagini dangling consumano spazio su disco ma non servono a nulla. Possono essere elencate utilizzando il comando:
|
1 |
docker images -f dangling=true |
Puoi rimuovere queste immagini eseguendo il seguente comando:
|
1 |
docker image prune |
Rimozione delle immagini in base a un pattern
Puoi trovare facilmente le immagini in base a un pattern particolare utilizzando il comando “grep” e poi rimuoverle passandolo nel comando “docker rmi” utilizzando “awk”. Puoi utilizzare i seguenti comandi e sostituire il “pattern” in ciascuno di essi:
Elenco:
|
1 |
docker images -a | grep "pattern" |
Rimuovi:
|
1 |
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi |
Rimuovi tutte le immagini
Puoi elencare tutte le immagini docker usando il comando:
|
1 |
docker images -a |
Una volta deciso di rimuoverle tutte, puoi usare questo comando per eliminarle tutte:
|
1 |
docker images -a -q | xargs docker rmi |
Rimozione dei container:
Ora che hai rimosso tutte le immagini non necessarie, è il momento di eliminare alcuni dei container che non sono richiesti.
Per elencare i container, puoi usare il comando:
|
1 |
docker ps -a |
Per rimuovere i container, usa il comando:
|
1 |
docker rm <<Nome Container/ID Container>> |
Eseguire container temporaneamente
Se vuoi eseguire il container solo una volta, puoi scegliere di eliminarlo automaticamente una volta terminato. Puoi farlo usando il comando:
|
1 |
docker run --rm <<NomeImmagine>> |
Rimozione dei container terminati
Puoi filtrare i container terminati usando l'argomento “-f”. Elenca i container terminati usando il comando:
|
1 |
docker ps -a -f status=exited |
Ora che li hai filtrati, rimuovili usando questo comando:
|
1 |
docker rm $(docker ps -a -f status=exited -q) |
Rimozione dei container in base a un pattern
Puoi trovare facilmente i container in base a un pattern particolare usando il comando “grep” e poi rimuoverli passandoli al comando “docker rm” usando “awk”. Puoi usare i seguenti comandi e sostituire il “pattern” in ognuno di essi.
Elenco:
|
1 |
docker ps -a | grep "pattern" |
Rimuovi:
|
1 |
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm |
Arresta e rimuovi tutti i container
Prima di farlo, esamina tutti i container sul tuo server elencandoli. Solo quando sei sicuro di volerli eliminare, esegui i seguenti comandi:
Elenca i container da esaminare:
|
1 |
docker ps -a |
Arresta e rimuovi:
|
1 2 |
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) |
Rimozione dei volumi
Rimuovi un volume specifico
Per rimuovere un volume specifico, devi conoscere il nome del volume. Per scoprirlo, puoi elencare i volumi.
Elenco:
|
1 |
docker volume ls |
Rimuovi:
|
1 |
docker volume rm <<NomeVolume>> |
Rimuovi i volumi orfani (dangling)
Quando rimuovi un container, the volume a esso associato non viene rimosso automaticamente. Un tale volume è chiamato volume orfano (dangling). Per individuare questi volumi, usa l'argomento di filtro nel comando:
|
1 |
docker volume ls -f dangling=true |
Per rimuovere tutti questi volumi orfani, usa il comando:
|
1 |
docker volume prune |
Rimuovi un container e il suo volume senza nome
Se hai creato un volume anonimo o senza nome durante l'esecuzione del container, puoi rimuoverlo insieme al container usando un singolo comando. Tuttavia, se il volume ha un nome, verrà eliminato solo il container.
|
1 |
docker rm -v <<NomeContainer>> |
Ora che hai questo cheat sheet, dovresti essere pronto a ripulire le risorse Docker che non sono necessarie sul tuo server.
Buon lavoro!


Commenti
Ancora nessun commento. Scrivi il primo.