🐳 Docker Problemen
Problemen met Docker containers en services oplossen.
Symptomen
| Probleem | Beschrijving |
|---|---|
| Container start niet | Status: Created, Exited, of Restarting |
| Service niet bereikbaar | 502 Bad Gateway, Connection refused |
| Container crashed | Onverwacht gestopt |
| Resource problemen | Hoog CPU/geheugen gebruik |
Diagnose
Stap 1: Container Status
Status betekenis:
- Up - Draait normaal
- Exited (0) - Normaal gestopt
- Exited (1) - Crashed met error
- Restarting - Blijft crashen en herstarten
- Created - Nooit gestart
Stap 2: Logs Bekijken
# Laatste 100 regels
docker logs container_naam --tail 100
# Live volgen
docker logs container_naam -f
# Met timestamps
docker logs container_naam -t
Stap 3: Resource Gebruik
Oplossingen
"Container start niet"
Oorzaak 1: Poort al in gebruik
# Check welke poort
docker logs container_naam 2>&1 | grep -i "port"
# Vind wat die poort gebruikt
netstat -tlnp | grep :80
lsof -i :80
Oplossing: Stop het andere proces of gebruik andere poort.
Oorzaak 2: Volume mount bestaat niet
Oorzaak 3: Permission denied
"Container blijft herstarten"
Diagnose:
# Check restart count
docker inspect container_naam | grep RestartCount
# Bekijk crash logs
docker logs container_naam --tail 200
Oorzaak: Meestal configuratiefout of dependency probleem.
Oplossing: 1. Bekijk logs voor specifieke error 2. Fix configuratie 3. Herstart:
"502 Bad Gateway" in browser
Oorzaak 1: Container is down
Oorzaak 2: Verkeerde poort in NPM - Check Forward Port in Nginx Proxy Manager - Moet de interne container poort zijn
Oorzaak 3: Container niet in proxy-net
# Check netwerken
docker network inspect proxy-net
# Voeg container toe
docker network connect proxy-net container_naam
"Disk space full"
Diagnose:
Oplossing - Opruimen:
# Verwijder gestopte containers
docker container prune
# Verwijder ongebruikte images
docker image prune -a
# Verwijder ongebruikte volumes (VOORZICHTIG!)
docker volume prune
# Alles opruimen
docker system prune -a
"Out of memory"
Diagnose:
Oplossing 1: Herstart containers
Oplossing 2: Beperk geheugen per container
"Image pull failed"
Oorzaak: Netwerk probleem of rate limit
Oplossing:
Basis Operaties
Alle Services Herstarten
Alle Services Updaten
Specifieke Service Herbouwen
Containers Stoppen Zonder Data Verlies
Alles Verwijderen en Opnieuw Beginnen
Data behouden
docker compose down verwijdert alleen containers, niet de data in volumes.
Logs Analyseren
Veelvoorkomende Errors
| Error | Betekenis | Oplossing |
|---|---|---|
port already in use |
Poort bezet | Andere poort gebruiken |
permission denied |
Geen rechten | chown op volumes |
no such file or directory |
Pad bestaat niet | Maak map aan |
connection refused |
Service niet beschikbaar | Check dependency |
OOM killed |
Geheugen vol | Meer RAM of limit |
Log Zoeken
# Zoek naar errors
docker logs pihole 2>&1 | grep -i error
# Zoek naar warnings
docker logs pihole 2>&1 | grep -i warn
# Laatste uur
docker logs pihole --since 1h
Docker Netwerken
Netwerken Bekijken
Container Netwerk Info
Container aan Netwerk Toevoegen
Netwerk Problemen Debuggen
# Maak debug container
docker run -it --rm --network proxy-net alpine sh
# Test connectiviteit
ping pihole
wget -qO- http://homer:8080
Na Systeem Reboot
Als services niet werken na reboot:
# Check Docker service
systemctl status docker
# Start indien nodig
sudo systemctl start docker
# Check containers
docker ps -a
# Start alles
cd ~/docker && docker compose up -d
Emergency: Docker Reset
Als Docker helemaal niet meer werkt:
# Stop Docker
sudo systemctl stop docker
# Clear Docker cache (VOORZICHTIG - verwijdert ALLES)
sudo rm -rf /var/lib/docker
# Start Docker
sudo systemctl start docker
# Rebuild alles
cd ~/docker && docker compose up -d
Data verlies
Dit verwijdert ALLE Docker data inclusief volumes. Alleen doen als backup beschikbaar is!