Docker Debug Template
Kategori
debug
Status
Guld
Bruges til
Denne prompt bruges når TuxCore skal fejlfinde Docker, Docker Compose, container logs, port-konflikter, reverse proxy, volumes, netværk eller services der ikke starter.
Den er god til:
- Docker Compose fejl
- Container starter ikke
- Port already in use
- Nginx Proxy Manager problemer
- Database container fejl
- Volume/path fejl
- Netværksfejl mellem containere
- Reverse proxy 502/503/504
- Logs der skal analyseres
Prompt
$docker $debug
Jeg har et Docker/Docker Compose problem.
## Problem
[Beskriv hvad der ikke virker]
## Fejlbesked/log
Indsæt relevant fejl her:
[indsæt logs]
## Projektmappe
/docker_data/[projekt-navn]
## docker-compose.yml
[indsæt docker-compose.yml]
## .env
[indsæt .env uden passwords/secrets]
## Kommandoer jeg allerede har prøvet
docker compose ps docker compose logs --tail=100 docker compose config
## Det jeg vil have
Svar med:
1. Hvad fejlen betyder.
2. Mest sandsynlige årsag.
3. Konkrete testkommandoer.
4. Præcis rettelse.
5. Hvilke filer/linjer der skal ændres.
6. Kommandoer til at genstarte og teste.
7. Hvordan jeg ser om det virker.
Regler:
- Undgå Portainer.
- Brug `/docker_data/...` som standard.
- Brug `docker compose`, ikke gammel `docker-compose`.
- Gør svaret copy/paste-klar.
- Hvis der er secrets i input, så gentag dem ikke.
Eksempel på brug
$docker $debug
Min Caddy container starter ikke. Den siger at port 80 allerede er i brug.
Her er logs og docker-compose.yml...
Forventet output
Et godt svar bør indeholde:
- Kort forklaring af fejlen
- Sandsynlig root cause
- Kommando til at finde processen/containeren der bruger porten
- Forslag til compose-fix
- Genstartkommandoer
- Test med
curl - Nginx Proxy Manager/reverse proxy noter hvis relevant
Standard testkommandoer
cd /docker_data/project-name
docker compose ps
docker compose logs --tail=100
docker compose config
docker ps
docker network ls
ss -tulpn | grep LISTEN
Find port-konflikt:
sudo lsof -i :80
sudo lsof -i :443
sudo lsof -i :8080
Test lokal service:
curl -I http://127.0.0.1:PORT
Test mellem containere:
docker exec -it nginx-proxy-manager curl -I http://container-name:PORT
Typiske fejl
Port already in use
Mulige årsager:
- En anden container bruger porten.
- Apache/Nginx kører direkte på hosten.
- Nginx Proxy Manager bruger allerede 80/443.
- To Compose-stacks mapper samme host-port.
Fix:
- Find processen med
sudo lsof -i :PORT. - Fjern unødvendig host-port mapping.
- Brug reverse proxy-netværk i stedet.
- Skift port i
.env.
502 Bad Gateway
Mulige årsager:
- Containeren kører ikke.
- Forkert forward hostname i Nginx Proxy Manager.
- Forkert intern port.
- Container er ikke på samme Docker-netværk.
- Appen lytter kun på
127.0.0.1inde i containeren.
Fix:
- Tjek
docker compose ps. - Test internt med
docker exec. - Tjek container network.
- Tjek appens lytteadresse og port.
Database connection refused
Mulige årsager:
- App starter før database er klar.
- Forkert DB host.
- Forkert DB credentials.
- Database container crasher.
- DB_PORT bruges forkert internt.
Fix:
- Brug service-navn som host, fx
dbellerpostgres. - Tjek logs på database.
- Brug intern port, fx 3306/5432.
- Tjek
.env.
Permission denied på volume
Mulige årsager:
- Forkert ejer på host-mappe.
- Container kører som anden UID/GID.
- Bind mount peger på forkert mappe.
- Filer er oprettet som root.
Fix:
- Tjek
ls -la. - Ret ejer eller permissions.
- Brug korrekt UID/GID i
.envhvis image understøtter det.
Tags
docker, debug, compose, nginx-proxy-manager, ports, logs, volumes, network, tuxcore