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
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 de begränsningar 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 #list the most recently created images
Eller
$ docker image -a #list all images
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 inget samband med de taggade bilderna, vilket betyder att de inte är användbara längre.
Du kan ta bort 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 #remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
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 remove dangling images
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 images -a | grep "pattern"
Ta sedan bort dem genom att använda:
$ docker images -a | grep "pattern" | 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 #remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
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 med hjälp av följande kommandon:
$ docker stop $(docker ps -a -q) #stop all containers
$ docker container prune #interactively remove all stopped containers
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 detta 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.