Häufige Docker-Probleme
Container startet nicht
# Status anzeigen
docker compose ps
Logs prüfen
docker logs CONTAINER_NAME --tail 50
Events prüfen
docker events --since 10m | head -20
ENV-Variable wird nicht übernommen
Problem: .env Datei wird nicht geladen obwohl vorhanden.
# Prüfen was im Container wirklich drin ist
docker exec dreylo-profile-api env | grep VARIABLE_NAME
Container komplett neu erstellen erzwingen
docker compose stop dreylo-profile-api
docker compose rm -f dreylo-profile-api
docker compose up -d dreylo-profile-api
Achtung: Beienvironment:imcompose.ymlwird die.envDatei ignoriert!
Entwederenv_file:verwenden ODERenvironment:– nicht beides für dieselbe Variable.
Build schlägt fehl (cached)
# Ohne Cache neu bauen
docker build --no-cache -t IMAGE_NAME .
Oder via compose
docker compose build --no-cache SERVICE_NAME
Container kann anderen Container nicht erreichen
# Netzwerk prüfen
docker network inspect stoat_default | grep -A5 "Name"
Verbindung testen
docker exec CONTAINER wget -qO- http://TARGET_CONTAINER:PORT/health 2>&1
Typische Ursachen:
1. Container in unterschiedlichen Netzwerken
2. Falscher Port (compose.yml vs. tatsächlicher Port)
3. Service noch nicht gestartet
Port-Konflikte
# Welcher Prozess nutzt Port X?
ss -tlnp | grep :PORT
lsof -i :PORT
MongoDB Connection Failed
# MongoDB-Status prüfen
docker logs stoat-database-1 --tail 20
Verbindung testen
docker exec stoat-database-1 mongosh --eval "db.runCommand({ping:1})"
Von anderem Container aus testen
docker exec dreylo-profile-api wget -qO- http://database:27017 2>&1