Anonim

Om du behöver en omfattande, open source behållarplattform 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 lättanvänd den är

Ett stort antal moln- och IT-företag tycker att det är oerhört användbart och dess popularitet är definitivt förtjänat.

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

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

Problemet

Container-teknik 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, exekverbara apppaket som innehåller allt som behövs för att en app ska fungera ordentligt. Runtime, kod, konfigurationer och systemverktyg och bibliotek finns i varje bild.

När du använder Docker samlas dessa bilder. Med tiden ackumuleras ett stort antal oanvända bilder, datamängder och containrar, 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 ta bort din Docker-miljö.

Ta bort Docker-bilder

Innan du kan ta bort onödiga bilder måste du skilja dem från användbara. Detta kan göras enkelt genom att lista alla bilder som ditt system innehåller med 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 dockningsbilder. Allt du behöver göra är att hitta de så kallade "dinglande bilder". 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 ta bort en eller flera bilder med hjälp av bild-ID. Använd ett av dessa kommandon för att göra detta:

$ 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 -f filterflaggan för att lista alla dinglande bilder.

Om du vill ta bort dessa bilder och rensa ut diskutrymme använder du 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 med hjälp av $ docker images - ett kommando och ta bort dem med hjälp av följande:

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

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

$ docker images -a | grep "pattern"

Ta sedan bort dem med hjälp av:

$ 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 med hjälp av följande kommando:

$ docker ps

Eller

$ docker ps -a

När du hittar behållarna du vill ta bort använder du 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 genom att använda 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 nytt.

Det sista ordet

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

Naturligtvis är det bara några av kommandona, och du kan använda en mängd andra kombinationer. Fortfarande kommer dessa att göra jobbet helt fint, så känn dig fri att prova dem.

Hur man tar bort alla dockningsbilder