# Schijfruimte van Docker en WSL in Windows: lagen, volumes en veilig opschonen

Docker meldt na het opschonen een grote vermindering, maar C: wint niet meteen dezelfde ruimte. Stel vast welke laag wordt gemeten. Docker-bronnen leven in de eigen omgeving. Een Linux-bestandssysteem kan in een virtuele schijf leven. Windows ziet die schijf als een bestand. Ruimte die binnen de omgeving opnieuw te gebruiken is, verschilt van capaciteit die op de host vrijkomt.

## Herken eerst de omgeving

Bekijk de huidige Docker-context en de opslaginventaris. Deze opdrachten lezen informatie zonder bronnen te verwijderen.

```powershell
docker context show
docker system df -v
docker ps -a
docker volume ls
wsl --list --verbose
```

Een externe Docker-verbinding meldt externe bronnen, niet het lokale gebruik van C:. Controleer ook of `DOCKER_HOST` of `DOCKER_CONTEXT` is ingesteld. Omgevingsvariabelen kunnen het verbindingsdoel overschrijven, zoals de [documentatie over contexten](https://docs.docker.com/engine/manage-resources/contexts/) beschrijft. De WSL-lijst identificeert lokale distributies en versies. De [documentatie van Docker over de WSL-backend](https://docs.docker.com/desktop/features/wsl/) legt uit dat de indeling van gegevens afhangt van de installatiegeschiedenis. Ga er niet van uit dat elke pc dezelfde verdeling van Docker-gegevens heeft.

## Gedeelde imagelagen veranderen de rekensom

De [referentie van Docker over schijfgebruik](https://docs.docker.com/reference/cli/docker/system/df/) scheidt gedeelde en unieke imagegroottes. Images kunnen lagen hergebruiken, dus er een verwijderen maakt niet per se het getoonde totaal vrij. Reclaimable beschrijft kandidaten onder de huidige verwijzingen, geen garantie dat hun inhoud ongewenst is.

| Bron | Typische inhoud | Controleren vóór verwijderen |
| --- | --- | --- |
| Images | Runtime- en toepassingslagen | Kunnen ze worden opgehaald of opnieuw gebouwd, en gebruiken andere containers ze? |
| Containers | Instanties en beschrijfbare lagen | Bevat een gestopte container niet-geëxporteerde inhoud? |
| Buildcache | Herbruikbare buildresultaten | Kan de volgende build downloaden en opnieuw berekenen wat hij nodig heeft? |
| Volumes | Blijvende databases of geüploade bestanden | Welk project bezit ze, en is het herstel gecontroleerd? |

In een denkbeeldig voorbeeld delen twee images van 2 GB 1,5 GB. Er een verwijderen betekent geen winst van 2 GB. Een volume zonder huidige containerverwijzing kan nog steeds de database bevatten die je net hebt gestopt.

## Richt je op de buildcache als dat het probleem is

Controleer of bron, afhankelijkheidsbronnen en buildconfiguratie beschikbaar blijven. Accepteer je dat de gecachte resultaten opnieuw worden gebouwd, dan richt de [opdracht builder prune van Docker](https://docs.docker.com/reference/cli/docker/builder/prune/) zich op de buildcache. De volgende opdracht verwijdert in aanmerking komende cache: lees de vraag voordat je accepteert, en houd de interactieve bevestiging aan.

```powershell
docker builder prune
```

Het bereik is smaller dan `docker system prune`, dat ook gestopte containers, geselecteerde images en netwerken raakt. [Extra opties van system prune](https://docs.docker.com/reference/cli/docker/system/prune/) verbreden het verwijderen verder. Vermijd één universele opdracht voor elk project. Zijn er meerdere builders, identificeer dan de gekozen builder. Eén omgeving opschonen bewijst niet dat de andere zijn afgehandeld.

## Maak apart een back-up van blijvende gegevens

Exporteer databases met hun eigen hulpmiddelen en controleer het terugzetten in een geïsoleerde omgeving. De [back-upgids van Docker](https://docs.docker.com/desktop/settings-and-maintenance/backup-and-restore/) scheidt image- en volumegegevens. Een image opslaan of committen neemt bestanden in gekoppelde volumes niet mee. Een Compose-bestand beschrijft configuratie en bevat de database-inhoud niet.

Volg voor een volledige back-up van de virtuele schijf van Docker Desktop de gedocumenteerde afsluitprocedure, identificeer de backend en de ingestelde gegevenslocatie, en kopieer daarna het juiste bestand. Een VHDX die verandert is geen stabiele back-up. Maak apart een back-up van persoonlijke WSL-distributies volgens de [exportrichtlijn van WSL](https://learn.microsoft.com/en-us/windows/wsl/basic-commands). Een distributie afmelden verwijdert de gegevens. Dat is geen gewone stap om ruimte op te schonen.

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-docker-wsl-disk-space-windows-en-mobile.webp" type="image/webp" width="768" height="1500">
    <img src="/img/blog/windows-docker-wsl-disk-space-windows-en.webp" width="1360" height="454" loading="lazy" alt="Docker-bronnen hebben verschillende bewaarwensen">
  </picture>
  <figcaption>Een volume zonder verwijzing kan nog waardevolle gegevens bevatten. Gedeelde imagelagen beperken ook wat één verwijdering vrijgeeft.</figcaption>
</figure>

## Vergelijk de Linux- en Windows-lagen

In je eigen distributie meldt `df -h /` het gebruik van het hoofdbestandssysteem, terwijl `du -h --max-depth=1 /home` helpt de groei van de gebruikersmap te vinden. De tweede opdracht is geen totaal van het hele systeem, en rechten en andere mappen beperken de dekking. Begin bij een bekende grote map in plaats van elke gekoppelde schijf te doorlopen.

De [opslaggids van Microsoft voor WSL](https://learn.microsoft.com/en-us/windows/wsl/disk-space) legt dynamische VHD-groei uit. Het capaciteitsplafond van Linux is niet het toegewezen gebruik van Windows. Verwijderen kan interne herbruikbare ruimte vergroten zonder het buitenste bestand meteen te verkleinen. Controleer voor het terugeisen aan de hostkant de huidige WSL- en Docker-versies en de ondersteunde procedures. Verwijder of verplaats geen virtuele schijven in AppData, en verwar het verhogen van een capaciteitslimiet niet met ruimte vrijmaken op C:. Om het hostbestand terug te eisen, maak je eerst ruimte vrij in de distributie en compacteer je daarna de virtuele schijf volgens de schijfruimtegids van Microsoft voor WSL en de eigen instellingen voor schijfimages van Docker Desktop. De exacte opdracht hangt af van de WSL-versie en de Docker-backend, dus gebruik de stappen voor die versie in plaats van één opdracht over te nemen.

Herhaal na het opschonen `docker system df -v`, start de services die je houdt, bekijk databaserecords en voltooi de oorspronkelijke build. Controleer de aflezingen van Docker, Linux en Windows apart. De pagina Analyse van Mole kan grote bestanden vinden. Het beheer van bronnen en virtuele schijven hoort bij de eigen hulpmiddelen. Zie de [gids over ontwikkelaarscaches](/nl/windows/blog/windows-developer-caches) voor gewone pakketcaches.


Canonical: https://mole.fit/nl/windows/blog/docker-wsl-disk-space-windows
