Docker sta conquistando il mondo perché è una preziosa piattaforma open source che consente alle applicazioni di funzionare senza utilizzare una vera macchina virtuale di alcun tipo. Ciò offre agli utenti la flessibilità di eseguire e testare le applicazioni in contenitori di software senza doversi preoccupare della compatibilità, trasformando il tuo server privato virtuale in un'ottima piattaforma di sviluppo.
In questo tutorial ti insegneremo i comandi di base che ogni utente dovrebbe conoscere, ad esempio come rimuovere le immagini, i contenitori, i volumi e le reti inutilizzati di Docker.
Rimozione di tutte le risorse Docker inutilizzate
Importante! Ricorda, per prima cosa devi accedere al tuo VPS utilizzando SSH e avere Docker installato sul tuo computer.
Docker non rimuove da solo i dati inutilizzati, il che può causare un ingombro dello spazio su disco.
Se desideri rimuovere tutte le immagini, i contenitori e le reti che non sono associati a un contenitore
docker system prune
Questo comando rimuoverà tutto , comprese le immagini penzolanti e i contenitori fermi, come ti indicherà il seguente messaggio:
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all dangling build cache Are you sure you want to continue? [y/N]
.
Per includere tutte le immagini non utilizzate, eseguire il comando seguente:
docker system prune -a
Ecco il messaggio di avviso che vedrai prima di continuare:
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all images without at least one container associated to them - all build cache Are you sure you want to continue? [y/N]
Tuttavia, i due comandi precedenti non toccheranno i volumi inutilizzati:ciò viene fatto deliberatamente per motivi di sicurezza.
Se desideri rimuovere anche quello, usa il seguente comando:
docker system prune --volumes
Importante! Tieni presente che utilizzando entrambi rm e potare comandi non è reversibile.
Come rimuovere le immagini Docker?
Per visualizzare tutte le tue immagini Docker, puoi utilizzare:
docker images -a
Se desideri rimuovere l'immagine Docker o alcune, puoi utilizzare questo comando ed elencare l'ID IMMAGINE come mostrato qui:
docker image rm IMAGE_ID
Per rimuovere le immagini penzolanti più recenti e senza tag, utilizzeremo la "docker rimuovi tutte le immagini" comando come mostrato qui:
docker image prune
Tuttavia, per rimuovere le immagini Docker presenti in contenitori esistenti che sono anche contrassegnati, possiamo utilizzare questo:
docker image prune –a
Se desideri rimuovere tutte le immagini, ad esempio, che potrebbero rientrare in un intervallo di tempo specifico, utilizza il comando:
docker image prune -a --filter "until=24h"
Se vuoi saperne di più su –filtro flags, controlla la pagina della documentazione ufficiale.
Come rimuovere i contenitori Docker?
Analogamente a prima, per vedere l'elenco di tutti i contenitori Docker, dovrai eseguire questo comando:
docker container ls -a
Se desideri rimuovere un contenitore specifico, inserisci l'ID CONTAINER come mostrato in questo esempio:
docker container rm CONTAINER_ID
Per rimuovere tutti i contenitori che si sono fermati nell'applicazione, segui questo comando:
docker container prune
Tieni presente che questo rimuoverà tutti i contenitori fermi. Per visualizzare l'elenco di quali contenitori verranno eliminati utilizzando il comando sopra menzionato, utilizzare il –filtro bandiera:
docker container ls -a --filter status=created --filter status=exited
Per limitare la rimozione dei contenitori che si sono fermati, ad esempio, in base all'intervallo di tempo, puoi utilizzare il seguente comando:
docker container prune --filter "until=24h"
Se vuoi rimuovere un contenitore una volta che hai finito di lavorarci, ne inizi uno aggiungendo un –rm bandiera. Ecco un esempio su come rimuovere tale contenitore:
docker run --rm CONTAINER_ID
Al termine, il contenitore verrà eliminato automaticamente.
Come rimuovere i volumi Docker?
I volumi vengono utilizzati per più contenitori ed è molto probabile che ci sia un numero di file di volume inutilizzati o interrotti.
Questi file non vengono rimossi automaticamente, né c'è un'impostazione in Docker per farlo in quanto ciò può causare una perdita significativa o danni ai dati.
Innanzitutto, per ottenere tutti gli ID volume Docker, utilizzare il comando seguente:
docker volume ls
Se desideri rimuovere un determinato volume, utilizza questo comando seguito da VOLUME NAME :
docker volume rm VOLUME_NAME
Per rimuovere tutti i volumi inutilizzati utilizzando un unico comando, puoi utilizzare quanto segue:
docker volume prune
Se ai volumi Docker sono allegate etichette, puoi anche utilizzare questo:
docker volume prune --filter "label!=keep"
In questo esempio, il comando rimuoverà solo i file di volume che non sono etichettati e assegnati con "conserva" etichetta.
Come rimuovere le reti Docker?
Sebbene le reti Docker non occupino molto spazio su disco, possono causare alcuni problemi se i file non necessari non vengono cancellati dal disco.
Un problema è che crea regole per iptables e reti bridge con voci della tabella di routing, che a lungo termine possono causare alcuni problemi.
Per un elenco completo di ID DI RETE , usa il seguente comando:
docker network ls
Per rimuovere una rete specifica, puoi utilizzare:
docker network rm NETWORK_ID
Se desideri rimuovere tutte le reti non segnalate, utilizza il seguente comando:
docker network prune
Per un filtro basato sull'intervallo di tempo, 24 ore in questo esempio, puoi semplicemente inserire:
docker network prune --filter "until=24h"
Perché usare Docker?
L'utilizzo di Docker consente all'app di funzionare in modo più fluido, indipendentemente dal sistema, dalle dimensioni dello schermo o dal browser Web su cui viene utilizzata. Docker semplifica la distribuzione, l'avvio e il test delle applicazioni senza troppe difficoltà. In breve, è veloce, fa risparmiare tempo e si impara facilmente.
Ecco alcuni altri esempi del motivo per cui Docker è una piattaforma container così popolare.
- Conveniente ed efficiente in termini di costi. A differenza delle piattaforme container più tradizionali, l'infrastruttura di Docker è minima, il che aiuta a far risparmiare all'organizzazione molti soldi su macchine virtuali e apparecchiature correlate. Ancora più importante, Docker può essere gestito con un minor numero di dipendenti, il che aiuta anche a risparmiare denaro se il tuo budget è troppo limitato.
- Compatibilità generale eccezionale. Docker consente agli sviluppatori di creare, eseguire e testare applicazioni sul container, garantendo un funzionamento regolare su qualsiasi sistema. Offre molto spazio per la sperimentazione che consente agli sviluppatori di software di creare applicazioni con meno bug. Consente inoltre di essere più portatile con basi di codice facili da configurare.
- Produttività più rapida. Una delle caratteristiche più importanti di Docker è che consente a un singolo comando di occuparsi di ulteriori passaggi. Ciò aggiunge maggiore efficienza al flusso di lavoro e una configurazione più rapida di un'applicazione, aumentando la produttività.
- Compatibilità piattaforma multi-cloud. Docker consente il multi-cloud computing, un metodo adottato da molti sistemi in tutto il mondo. Amazon Web Services (AWS) e Google Compute Platform (GCP) sono solo alcuni degli esempi in cui Docker è molto favorito. Molte applicazioni che includono OpenStack, Microsoft Azure, Chef, Puppet e altre sono altamente compatibili con i contenitori Docker.
- Maggiore sicurezza. Docker è sicuro e veloce, il che significa che ogni applicazione in esecuzione sui container Docker rimane isolata l'una dall'altra, causando in cambio meno problemi di sicurezza. Consente allo sviluppatore di farsi carico della gestione completa dell'applicazione e del flusso di traffico senza causare problemi al server o alla sicurezza.
Conclusione
Al giorno d'oggi, Docker sta guadagnando un notevole slancio ed è utilizzato da molte aziende famose in tutto il mondo. È una delle migliori piattaforme fino ad oggi che consente soluzioni di sviluppo più convenienti, consente test e sperimentazioni illimitate per creare applicazioni in modo rapido ed efficiente.
In questo tutorial, hai imparato come cancellare immagini, contenitori, volumi e reti Docker inutilizzati. Se hai altre domande, sentiti libero di lasciare un commento in basso.