I container sono fantastici quando si tratta di testare e distribuire un progetto. Ma i contenitori possono consumare rapidamente spazio su disco se crei più contenitori.
In questo tutorial per principianti di Docker, ti mostrerò come rimuovere i contenitori Docker.
Nella forma più semplice, puoi rimuovere un contenitore mobile con il comando docker rm:
docker rm container_id_or_name
Se vuoi rimuovere tutti i contenitori, interrompi prima quelli in esecuzione e poi rimuovili:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
Ma non avrai sempre una vita semplice con i contenitori. Ed è per questo che mostrerò vari scenari in cui puoi eliminare i contenitori docker.
Esempi pratici di rimozione dei contenitori docker
Come puoi immaginare, per rimuovere un contenitore, devi conoscerne il nome o l'ID. Puoi controllare tutti i contenitori docker sul tuo sistema (sia fermi che in esecuzione) con il comando docker ps in questo modo:
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07e97581c5d8 debian "bash" 9 minutes ago Up 9 minutes container2
6ef4545eef37 ubuntu "bash" 11 minutes ago Up 11 minutes container1
707e40ce3c5a ubuntu "/bin/bash" 15 minutes ago Exited (0) 15 minutes ago boring_payne
8047ab8e3673 ubuntu "/bin/bash" 34 minutes ago Exited (0) 15 minutes ago relaxed_wiles
ce84231ab213 debian "bash" 42 minutes ago Exited (0) 42 minutes ago bold_golick
12a18eaa291b hello-world "/hello" 2 days ago Exited (0) 2 days ago brave_mendeleev
La prima colonna fornisce l'ID del contenitore e l'ultima colonna fornisce il nome del contenitore. Puoi anche notare che i contenitori Docker in esecuzione hanno "Su" nella colonna Stato.
Ora che sai come ottenere l'ID e il nome del contenitore, vediamo come rimuoverlo:
Rimuovi il contenitore della finestra mobile
Questo è il più semplice. Puoi utilizzare l'ID o il nome del contenitore in questo modo:
docker rm container_id_or_name
Non riceverai un messaggio come il contenitore rimosso nell'output. Visualizza solo l'ID o il nome del contenitore che hai fornito.
[email protected]:~$ docker rm 12a18eaa291b
12a18eaa291b
Rimuovi un container in esecuzione
Se un container è in esecuzione e provi a rimuoverlo, vedrai un errore come questo:
[email protected]:~$ docker rm container1
Error response from daemon: You cannot remove a running container 6ef4545eef378788e5e9d7ac1cf2e0a717480608adb432be99fd9b3d3a604c12. Stop the container before attempting removal or force remove
Abbastanza chiaramente, dovresti prima fermare il contenitore Docker e poi rimuoverlo:
docker stop container_id_or_name
docker rm container_id_or_name
Rimozione forzata di un contenitore mobile in esecuzione (non consigliato)
Docker ti offre l'opzione -f per forzare la rimozione di un contenitore. Con questo, puoi rimuovere un contenitore in esecuzione:
docker rm -f container_id_or_name
Questo non è raccomandato perché invia il comando kill e il tuo contenitore potrebbe non salvarne lo stato.
Rimuovi più contenitori docker
Puoi specificare più contenitori Docker durante la rimozione:
docker rm container1 container2 container3
Rimuovi più contenitori docker associati a una particolare immagine docker
Nell'esempio, supponiamo che tu voglia rimuovere tutti i contenitori associati all'immagine mobile ubuntu.
Ti consiglio di fermare prima i contenitori:
docker ps -a -q --filter ancestor=ubuntu | xargs docker stop
E poi rimuovi questi contenitori:
docker ps -a -q --filter ancestor=ubuntu | xargs docker rm
Per spiegare il comando sopra, il docker ps
l'output del comando è stato filtrato con i contenitori associati all'immagine di Ubuntu e quindi il -q
opzione fornisce solo l'ID dei contenitori. Combinalo con il comando xargs per alimentare gli ID contenitore (associati a Ubuntu) al comando docker rm.
Rimuovi tutti i contenitori fermi
Se desideri rimuovere tutti i contenitori interrotti, puoi filtrarli in base al loro stato e quindi interromperli in questo modo:
docker ps -a -q -f status=exited | xargs docker rm
Rimuovi tutti i contenitori Docker
Se desideri rimuovere tutti i contenitori dal tuo sistema, assicurati di arrestarli prima e poi rimuoverli:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
Spero che questo tutorial Docker ti sia piaciuto. Resta sintonizzato per saperne di più.