F FabGPT-FAQ

Docker: container, log e diagnosi

Ciclo di vita, log, exec, risorse e il debug dei container che muoiono. Ogni comando è verificato e copiabile; in chat basta descrivere cosa vuoi fare.

23 comandi in questa pagina

# Come vedo i container attivi?

docker ps

Mostra solo i container in esecuzione; formato compatto: docker ps --format '{{.Names}}\t{{.Status}}'.

Approfondisci: Cos'è Docker Compose?Che differenza c'è tra container LXC e VM?

# Come vedo anche i container fermi?

docker ps -a

Include gli exited col loro exit code: il primo posto dove guardare quando qualcosa è morto.

Approfondisci: Cos'è Docker Compose?

# Come avvio un container fermo?

docker start <nome>

Riparte con la stessa configurazione; con -a vedi subito output e log.

Approfondisci: Cos'è Docker Compose?

# Come fermo un container in modo pulito?

docker stop <nome>

Manda SIGTERM e concede 10 secondi di grazia prima del SIGKILL; si allunga con -t 30.

Approfondisci: Cos'è Docker Compose?

# Come uccido un container bloccato?

docker kill <nome>

SIGKILL immediato, nessuna grazia: solo quando docker stop non risponde.

Approfondisci: Cos'è Docker Compose?

# Come riavvio un container?

docker restart <nome>

Equivale a stop + start; la configurazione non cambia.

Approfondisci: Cos'è Docker Compose?

# Come ricreo un container senza perdere i dati?

docker compose up -d --force-recreate <servizio>

I dati vivono nei volumi, non nel container: se i path importanti sono su volumi, ricreare è sempre sicuro.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?Cos'è Docker Compose?

# Come elimino un container?

docker rm <nome>        # -f se è in esecuzione

Rimuove il container, NON i volumi associati (quelli con -v, e con giudizio).

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?

# Come elimino tutti i container fermi in un colpo?

docker container prune

Irreversibile: prima docker ps -a per sapere cosa stai buttando.

Approfondisci: Storage pieno su Proxmox: come liberare spazio senza disastri

# Come vedo la configurazione completa di un container?

docker inspect <nome>

Tutto il JSON; per un campo secco: docker inspect --format '{{.HostConfig.RestartPolicy.Name}}' <nome>.

Approfondisci: Cos'è Docker Compose?

# Come controllo l'healthcheck di un container?

docker inspect --format '{{json .State.Health}}' <nome>

Mostra stato e ultimi probe, output del check incluso: lì c'è il perché dell'unhealthy.

Approfondisci: Cos'è Docker Compose?

# Come entro dentro un container?

docker exec -it <nome> sh    # o bash, se c'è

Shell nel container in esecuzione; per un comando secco senza shell: docker exec <nome> <comando>.

Approfondisci: Cos'è un container breakout (evasione verso l'host)?

# Come copio file da e verso un container?

docker cp <nome>:/path/file ./file
docker cp ./file <nome>:/path/

Funziona anche a container fermo; controlla proprietario e permessi dopo la copia.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?

# Come vedo quanta CPU e RAM usano i container?

docker stats

Vista live di tutti i container; il limite di memoria mostrato è quello imposto, non la RAM dell'host.

Approfondisci: Cos'è Docker Compose?

# Come vedo i processi dentro un container?

docker top <nome>

I processi visti dall'host, senza entrare nel container.

Approfondisci: Cos'è Docker Compose?

# Come cambio i limiti di risorse a un container avviato?

docker update --memory 512m --memory-swap 512m --cpus 1.5 <nome>

Al volo, senza riavvio – ma se usi Compose riportalo nel file, o il prossimo up lo dimentica.

Approfondisci: Cos'è Docker Compose?

# Come vedo le ultime righe di log di un container?

docker logs --tail 100 <nome>

Senza --tail scarica TUTTO il log: su container vecchi può essere enorme.

Approfondisci: Come si configura la rotazione automatica dei file di log di Docker per prevenire la saturazione imprevista dello spazio su disco?

# Come seguo i log di un container in diretta?

docker logs -f --tail 50 <nome>

Ctrl+C stacca solo il follow: il container resta su.

Approfondisci: Come si configura la rotazione automatica dei file di log di Docker per prevenire la saturazione imprevista dello spazio su disco?

# Come filtro i log di un container per periodo o testo?

docker logs --since 1h <nome> 2>&1 | grep -i error

--since/--until accettano durate (1h) e timestamp ISO; il 2>&1 serve perché molte app loggano su stderr.

Approfondisci: Come si configura la rotazione automatica dei file di log di Docker per prevenire la saturazione imprevista dello spazio su disco?

# Come svuoto il log di un container cresciuto troppo?

truncate -s 0 $(docker inspect --format '{{.LogPath}}' <nome>)

Cura il sintomo: la cura vera è la rotazione (max-size/max-file) in daemon.json.

Approfondisci: Come si configura la rotazione automatica dei file di log di Docker per prevenire la saturazione imprevista dello spazio su disco?Storage pieno su Proxmox: come liberare spazio senza disastri

# Il container continua a riavviarsi: come lo debuggo?

docker logs --tail 50 <nome>
docker inspect --format 'restarts={{.RestartCount}} exit={{.State.ExitCode}}' <nome>

L'errore è quasi sempre nelle prime righe di log dopo l'avvio; exit code 1 = errore applicativo, non di Docker.

Approfondisci: Cos'è Docker Compose?

# Come capisco se un container è stato ucciso per memoria (OOM)?

docker inspect --format 'OOM={{.State.OOMKilled}} exit={{.State.ExitCode}}' <nome>

OOMKilled: true o exit code 137 = ucciso dal kernel: alza il limite o cerca la perdita di memoria.

Approfondisci: Cos'è Docker Compose?

# Cosa significano gli exit code dei container?

docker inspect --format '{{.State.ExitCode}}' <nome>

0 ok · 1 errore applicativo · 126/127 comando non eseguibile/non trovato · 137 SIGKILL (spesso OOM) · 143 SIGTERM.

Approfondisci: Cos'è Docker Compose?

Chiedi in chat