GitLab via Docker neemt te veel ruimte in beslag

Marco den Teuling
0

Sinds enkele maanden gebruik ik GitLab. Ik heb het als Docker-container geïnstalleerd en houd het goed bij. Via de CI/CD-processen maak ik containerimages die GitLab via het geïntegreerde register verwerkt. Inmiddels neemt dit ongeveer 80 GB ruimte in beslag, terwijl de nieuwe images juist veel minder ruimte zouden moeten innemen. Hoe kom ik van images af die ik niet meer nodig heb?

Met de opruimfunctie van GitLab zelf, die je in zo’n geval in de GitLab-container zou kunnen uitvoeren als gitlab-ctl registry-garbagecollect, werkt dat naar onze ervaring niet. Een officiële tool voor het opruimen van overtollige dingen in een GitLab-register bestaat er op dit moment niet. Wat bij ons echter wel werkte, was dockerdistribution-pruner, een opruimhulp die op GitLab werd gehost.

Het uitvoerbare bestand van het programma, dat in Go is geschreven, zit ietwat verstopt: als je de projectpagina opent, klik je in de zijbalk van GitLab op CI/CD en dan rechtsboven aan het eind van de regel op het pictogram van een wolk met een pijl (‘Download compile arti­facts’). Het zip-bestand dat je dan downloadt bevat het uitvoerbare Go-programma voor amd64.

Kopieer het programma naar je GitLab-container (met docker cp) en voer het daar uit met de volgende regel:

docker-distribution-pruner -config= /var/opt/gitlab/registry/config.yml

Het pad geldt voor standaard Docker-GitLab installaties (via Omnibus). Je hoeft niet bang te zijn iets kwijt te raken, het commando verwijdert in eerste instantie niets. Je start er alleen een inventarisatie van je register mee, die enkele minuten kan duren.

Daarna laat het programma weten hoeveel ruimte het in principe kan opruimen. Als je het opnieuw start met de optie -delete, dan worden de overbodige bestanden in je GitHub-register verwijderd. Standaard worden die dan naar de back-upmap docker_backup verplaatst in /var­/opt/gitlab/gitlab-rails/shared/registry/.

Ten slotte nog dit: de makers van het programma waarschuwen ervoor om het te gebruiken. Wij hebben er echter goede ervaringen mee opgedaan. Gebruik op eigen risico.

Lees meer over Docker in c't, bijvoorbeeld in c't Magazine okt/2018

Meer over

Software

Deel dit artikel

Lees ook

Windows Verkenner hangt bij TS-videobestanden

Windows 10 blijft hangen zodra ik in de Verkenner een map met TS-bestanden open. Windows-updates hebben dit probleem nog niet opgelost.

LibreOffice vindt Java-installatie niet

Ik heb in LibreOffice een extensie geïnstalleerd waar Java voor nodig is. Java staat op mijn Windows-pc, maar LibreOffice kan het niet vinden.

0 Praat mee

avatar
  Abonneer  
Laat het mij weten wanneer er