Hur man tar bort alla Docker-bilder

Om du är i behov av en omfattande containerplattform med öppen källkod för att skapa oberoende mellan appar och infrastruktur, är Docker din säkraste insats. Om du har haft chansen att använda den vet du redan hur kapabel och enkel att använda den

Hur man tar bort alla Docker-bilder

Ett stort antal moln- och IT-företag tycker att det är extremt användbart, och dess popularitet är definitivt välförtjänt.

Ändå gör detta det inte perfekt. Beviset kan ses i begränsningarna som följer med att ta bort bilder, volymer, behållare och nätverk. Även om dessa kommandon är tillgängliga är de inte så omfattande som användarna kanske vill att de ska vara.

Här ser du de viktigaste problemen som användare stöter på, samt lösningarna för dem. Du lär dig hur du tar bort bilder och behållare på ett enkelt sätt.

Problemet

Containerteknik ger ett sätt att visualisera operativsystem. Det gör att en app kan paketeras med allt som krävs för att köra den, vilket gör att den kan agera oberoende av operativsystemet.

Behållarbilder är fristående körbara apppaket som innehåller allt som behövs för att en app ska fungera korrekt. Körtid, kod, konfigurationer och systemverktyg och bibliotek finns i varje bild.

När du använder Docker ackumuleras dessa bilder. Med tiden ackumuleras ett stort antal oanvända bilder, datavolymer och behållare, vilket skapar en fullsatt Docker-miljö. När detta händer är det nödvändigt att uppdatera miljön så att plattformen fungerar som den ska.

Det finns flera kommandon som kan få detta att hända, så låt oss ta en titt på de viktigaste sätten att rensa ner din Docker-miljö.

Ta bort Docker-bilder

Innan du kan ta bort de onödiga bilderna måste du skilja dem från de användbara. Detta kan enkelt göras genom att lista alla bilder som ditt system innehåller genom att använda kommandot bildhantering.

Så här ser det ut:

$ docker image #lista de senast skapade bilderna

Eller

$ docker image -a #lista alla bilder

Med det andra kommandot ser du alla dina docker-bilder. Allt du behöver göra är att hitta de så kallade "dinglande bilderna". Dessa är alla Docker-bilder som inte innehåller en tagg. Utan taggen finns det ingen koppling till de taggade bilderna, vilket betyder att de inte är användbara längre.

Du kan radera en eller flera bilder genom att använda bild-ID. För att göra detta, använd ett av dessa kommandon:

$ docker rmi d65c4d6a3580 #ta bort en enda bild

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #ta bort flera bilder

En mer bekväm lösning är att använda filterflaggan -f för att lista alla dinglande bilder.

För att ta bort dessa bilder och rensa upp diskutrymme, använd något av följande kommandon:

$ docker image prune #interactively ta bort dinglande bilder

Eller

$ docker rmi $(docker images -q -f dangling=true)

Du kan ta bort alla Docker-bilder på liknande sätt. Lista dem genom att använda $ docker-avbildningarna -a-kommandot och ta sedan bort dem genom att använda följande:

$ (docker rmi $(docker images -a -q)

Ett annat alternativ är att ta bort bilderna som följer ett visst mönster. För att lista dem, använd följande kommando:

$ docker bilder -a | grep "mönster"

Ta sedan bort dem genom att använda:

$ docker bilder -a | grep "mönster" | awk '{print $3}' | xargs docker rmi

Ta bort behållare

En annan sak du kanske vill göra efter att ha arbetat med Docker under en viss tid är att ta bort en eller flera behållare.

I likhet med borttagning av bilder måste du först lista dem genom att använda följande kommando:

$ docker ps

Eller

$ docker ps -a

När du hittar behållarna du vill ta bort, använd deras ID för att göra det.

$ docker rm 0fd99ee0cb61 #ta bort en enda behållare

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #ta bort flera behållare

Om behållaren du försöker ta bort körs kan du använda följande kommando för att stoppa den:

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

Slutligen kan du stoppa och ta bort alla onödiga behållare genom att använda följande kommandon:

$ docker stop $(docker ps -a -q) #stopp alla behållare

$ docker container prune #interactively ta bort alla stoppade containrar

Eller

$ docker rm $(docker ps -qa)

Detta låter dig frigöra värdefullt diskutrymme och börja om på nytt.

Det sista ordet

Som du kan se är det inte så skrämmande att ta bort Docker-bilder och -behållare. Nu när du känner till dessa kommandon kan du ha mer kontroll över din Docker-upplevelse.

Naturligtvis är dessa bara några av kommandona, och du kan använda en mängd andra kombinationer. Ändå kommer dessa att göra jobbet bra, så testa dem gärna.