Blog
- Home
- Blog
- Business Process Automation
- Docker optimaliseren met WSL2
Docker optimaliseren met WSL2
Maximale performance voor development met PHPStorm en VS Code
Docker + WSL2 is voor veel developers dé standaard geworden op Windows. De combinatie is krachtig, maar zonder goede configuratie kan Docker traag worden, onnodig veel geheugen gebruiken en zelfs Windows instabiel maken.
In deze blog combineren we:
- WSL2 performance tuning
- Docker best practices in WSL
- Stabiel werken met PHPStorm en VS Code
Waarom Docker draaien in WSL?
Docker Desktop gebruikt onder water WSL2 als Linux-kernel. Dat betekent dat Docker performance direct afhankelijk is van:
- WSL CPU-instellingen
- WSL geheugenlimieten
- De locatie van je projectbestanden
Belangrijk: Docker optimaliseren = WSL goed instellen.
Fundament: juiste WSL configuratie
.wslconfig (Windows-niveau)
[wsl2]
localhostForwarding=true
processors=10
memory=24GB
Waarom dit belangrijk is voor Docker
- Docker containers concurreren met Windows om resources
- Zonder limieten kan Docker al het RAM opslokken
- Windows gaat swapen
- IDE’s zoals PHPStorm en VS Code kunnen vastlopen
Advies: gebruik maximaal 60–75% van je CPU-cores en laat minimaal 8–12 GB geheugen vrij voor Windows.
wsl.conf (Linux-niveau)
[boot]
systemd=false
[user]
default=stephan
Voor Docker-development zorgt dit voor:
- Snellere WSL starts
- Minder achtergrondprocessen
- Lager idle-geheugenverbruik
Docker Desktop instellingen
Controleer in Docker Desktop:
- Gebruik de WSL2-based engine
- Activeer alleen Linux distributies die je echt gebruikt
Elke extra distro kost geheugen en CPU.
Grootste performance killer: het filesystem
Niet doen: projecten op /mnt/c
/mnt/c/Users/stephan/projects
Nadelen:
- Trage file I/O
- Langzame Docker builds
- Watchers reageren slecht
Wel doen: projecten in WSL zelf
/home/stephan/projects
Voordelen:
- Tot 10x snellere filesystem toegang
- Snellere Docker builds
- Snellere PHPStorm indexing
- Lager CPU-verbruik
Gouden regel: containers en code moeten in hetzelfde Linux filesystem draaien.
Docker Compose performance tips
Volume mounts
Verkeerd:
volumes:
- /mnt/c/project:/app
Correct:
volumes:
- ./project:/app
(Waar ./project zich in WSL bevindt)
Onnodige synchronisatie vermijden
- Sync alleen wat nodig is
- Cache mappen niet mounten
Denk aan:
- vendor
- node_modules
- var/cache
PHP containers optimaliseren
- Gebruik PHP-FPM met
pm=dynamic - Zet
pm.max_childrenniet onnodig hoog - Gebruik geen debug extensies in standaard images
Xdebug
- Alleen inschakelen bij debuggen
- Bij voorkeur via environment variabele
PHPStorm + Docker + WSL
Beste setup:
- PHP interpreter via Docker container
- Projectbestanden in WSL
- Composer draaien in container
- PHPUnit in container
Resultaat: snellere tests, correcte paths en stabiele performance.
VS Code + Docker + WSL
- Gebruik de WSL Extension
- Optioneel: Dev Containers
Voordelen: native Linux tooling, snelle terminals en geen overhead.
Crashes voorkomen
- Laat altijd geheugen vrij voor Windows
- Beperk CPU-usage van WSL
- Sluit ongebruikte containers
- Gebruik
docker compose downals je klaar bent
Resource monitoring
docker stats
htop
WSL en Docker herstarten
Na wijzigingen in .wslconfig:
wsl --shutdown
Start daarna Docker Desktop opnieuw.
Conclusie
Met de juiste combinatie van WSL-configuratie, correct filesystem gebruik en slimme Docker instellingen:
- Draait Docker snel en stabiel
- Blijven PHPStorm en VS Code responsief
- Voorkom je Windows crashes
- Krijg je bijna Linux-server performance op Windows
Docker + WSL2 is krachtig — mits je het goed instelt.