Docker-afbeeldingen opschonen en verwijderen

0
42

Docker-afbeeldingen kunnen erg groot zijn, en als u vaak met containers werkt, het kan veel van uw opslagruimte in beslag nemen. We zullen bespreken hoe u uw gedownloade afbeeldingen kunt opschonen en oude bestanden kunt verwijderen die u niet nodig heeft.

Docker Images vs. Docker Containers

Docker Images gaan anders om met hun gegevens dan containers. Afbeeldingen zijn alleen-lezen bestanden die zijn opgebouwd uit Dockerfiles en naar de Docker Hub zijn gepusht. Elke keer dat u een nieuwe versie downloadt, moet Docker de bestanden voor die nieuwe versie downloaden. Oude versies worden nog steeds op uw lokale schijf opgeslagen.

Containers worden gemaakt van afbeeldingen en hebben meestal hun eigen bestandssysteem en volumes. Wanneer u de container stopt, worden alle gegevens die niet op een volume zijn opgeslagen, verwijderd. Dus om gegevens die door containers worden gebruikt op te schonen, hoeft u ze alleen maar te stoppen en hun volumes te verwijderen.

Om afbeeldingen op te schonen, biedt Docker een paar opdrachten voor het uitvoeren van garbagecollection.

Afbeeldingen snoeien

U zult onvermijdelijk eindigen met afbeeldingen die niet in gebruik zijn, of dat nu oude versies van afbeeldingen zijn, of afbeeldingen uit containers die niet actief worden uitgevoerd. Hoe dan ook, het verwijderen van een afbeelding is meestal geen probleem. Als je het opnieuw nodig hebt, kan Docker het gewoon ophalen uit de externe repository.

Advertentie

Om alle afbeeldingen te bekijken die op je systeem zijn opgeslagen, je kunt het volgende commando gebruiken:

docker image ls

Ondanks dat het lijkt alsof al deze versies veel ruimte in beslag nemen in deze uitvoer, worden verschillende versies incrementeel opgeslagen, dus alleen de wijzigingen van de nieuwe versie worden daadwerkelijk op schijf opgeslagen.

U kunt een afbeelding handmatig verwijderen die is opgegeven it’s image ID:

docker image rm 3a8d8f76e7f8f

Een veel veiligere methode is echter om het ingebouwde prune-commando te gebruiken, dat door alle afbeeldingen zal zoeken om de afbeeldingen zonder actieve verwijzingen te vinden en te verwijderen :

docker image prune -a

Als u de -a tag weglaat, blijven afbeeldingen die zijn getagd maar niet in gebruik zijn behouden. Met de vlag blijven alleen afbeeldingen over die u actief gebruikt.

Het prune-commando vertelt u hoeveel ruimte er is vrijgemaakt, maar als u handmatig wilt controleren hoeveel opslagruimte Docker voor en daarna kunt u du -sh gebruiken in de Docker-opslagmap:

sudo du -sh /var/lib/docker/Advertisement

Deze map bevindt zich in C:ProgramDataDockerDesktop op Windows en ~/Library/Containers/com.docker.docker/Data/vms/0/ op macOS.