Ricerca nel sito web

Come rimuovere immagini, contenitori e volumi Docker


Docker è una piattaforma container open source, potente, sicura, affidabile ed efficiente che consente un'indipendenza realistica tra applicazioni e infrastruttura. Viene ampiamente adottato dalle aziende IT e cloud là fuori, per creare, distribuire ed eseguire facilmente applicazioni.

Un contenitore è una tecnologia per la visualizzazione dei sistemi operativi, che consente di confezionare un'applicazione con tutto il necessario per eseguirla, consentendone l'esecuzione indipendentemente dal sistema operativo. Un'immagine contenitore è un pacchetto autonomo ed eseguibile di un'applicazione che include tutto il necessario per eseguirla: codice, runtime, strumenti di sistema e librerie, nonché configurazioni.

Abbiamo già trattato una serie su Docker, che spiega come installare Docker, eseguire applicazioni in contenitori e creare automaticamente immagini docker con dockerfile.

  1. Installa Docker e scopri la manipolazione di base dei contenitori in CentOS e RHEL 7/6
  2. Come distribuire ed eseguire applicazioni in contenitori Docker su CentOS/RHEL 7/6
  3. Crea e configura automaticamente immagini Docker con Dockerfile su CentOS/RHEL 7/6
  4. Come configurare un semplice server Web Apache in un contenitore Docker

In questo articolo spiegheremo come rimuovere immagini, contenitori e volumi docker tramite lo strumento da riga di comando docker nei sistemi Linux.

Come rimuovere le immagini Docker

Prima di rimuovere qualsiasi immagine della finestra mobile, puoi elencare tutte le immagini esistenti sul tuo sistema con il comando di gestione delle immagini.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Osservando l'output nello screenshot che segue, abbiamo alcune immagini senza tag (che mostrano invece ), queste sono denominate "immagini penzolanti". Non hanno più alcuna relazione con le immagini taggate; non sono più utili e consumano solo spazio su disco.

Puoi rimuovere una o più immagini Docker vecchie o inutilizzate utilizzando, ad esempio, l'ID dell'immagine (dove d65c4d6a3580 è l'ID dell'immagine).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Puoi elencare le immagini penzolanti (immagini senza tag) utilizzando il flag di filtro -f come mostrato.

docker images -f dangling=true	

Per rimuovere tutte le immagini penzolanti, consentendoti di recuperare lo spazio su disco sprecato, utilizza uno di questi comandi.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Per rimuovere tutto ciò che non è associato ad alcun contenitore, utilizzare il comando seguente.

docker image prune -a 	

Come rimuovere i contenitori Docker

Puoi iniziare elencando tutti i contenitori docker sul tuo sistema utilizzando il seguente comando.

docker ps
OR
docker ps -a  

Una volta identificati i contenitori che desideri eliminare, puoi rimuoverli utilizzando, ad esempio, il loro ID.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Se un contenitore è in esecuzione, puoi prima arrestarlo e rimuoverlo come mostrato.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Puoi anche rimuovere forzatamente un contenitore mentre è in esecuzione aggiungendo il flag --force o -f, questo gli invierà un < segnaleSIGKILL come mostrato.

docker rm -f 0fd99ee0cb61

Puoi rimuovere i contenitori anche utilizzando i filtri. Ad esempio, per rimuovere tutti i contenitori usciti, utilizzare questo comando.

docker rm $(docker ps -qa --filter "status=exited")

Per arrestare e rimuovere tutti i contenitori, utilizzare i seguenti comandi.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Come rimuovere i volumi Docker

Come prima, inizia elencando tutti i volumi docker sul tuo sistema con il comando di gestione dei volumi come mostrato.

docker volume ls

Per rimuovere uno o più volumi, utilizza il comando seguente (tieni presente che non puoi rimuovere un volume utilizzato da un contenitore).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Utilizza il flag -f per forzare la rimozione di uno o più volumi.

docker volume rm -f volume_ID

Per rimuovere i volumi pendenti, utilizzare il comando seguente.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Per rimuovere tutti i volumi locali inutilizzati, esegui il comando seguente. Ciò rimuoverà i volumi in modo interattivo.

docker volume prune	

Come rimuovere immagini, contenitori, volumi e reti inutilizzati o penzolanti

Puoi eliminare tutti i dati penzolanti e senza riferimenti come contenitori fermi, immagini senza contenitori, con questo unico comando. Per impostazione predefinita, i volumi non vengono rimossi, per evitare che i dati vitali vengano eliminati se al momento non esiste alcun contenitore che utilizza il volume.

docker system prune

Per eliminare i volumi, aggiungi semplicemente il flag --volumes al comando seguente come mostrato.

docker system prune --volumes

Nota: per eseguire lo strumento da riga di comando docker senza il comando sudo, è necessario aggiungere un utente al gruppo docker, ad esempio.

sudo usermod -a -G docker aaronkilik

Per ulteriori informazioni, vedere la pagina della guida per i comandi di gestione degli oggetti docker sopra.

docker help
docker image help   
docker container help   
docker volume help   

È tutto per ora! In questo articolo, abbiamo spiegato come rimuovere immagini, contenitori e volumi docker tramite lo strumento da riga di comando docker. Se hai domande o pensieri da condividere, utilizza il modulo di feedback qui sotto per contattarci.