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.

27 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?

# Come avvio Glances con la web UI in Docker?

docker run -d --restart=always -p 61208-61209:61208-61209 -v /var/run/docker.sock:/var/run/docker.sock --pid host -e GLANCES_OPT="-w" nicolargo/glances:latest-full

--pid host serve per vedere l'host vero e non il container. Senza auth, solo su rete fidata.

Approfondisci: Cos'è Glances e a cosa serve?Cos'è Beszel e a cosa serve?

# Come avvio n8n con Docker?

docker volume create n8n_data
docker run -d --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n

UI sulla 5678. Salva N8N_ENCRYPTION_KEY col backup del volume o non riapri le credenziali.

Approfondisci: Cos'è n8n e a cosa serve?Come si fanno automazioni domotiche avanzate (Node-RED, MQTT)?

# Come faccio il primo setup di Plex su server headless?

ssh -L 8888:127.0.0.1:32400 utente@server

Poi apri http://127.0.0.1:8888/web e fai il claim. Il token da plex.tv/claim vale solo al primo avvio.

Approfondisci: Cos'è Plex e a cosa serve?Come si fa un media server self-hosted (Jellyfin)?

# Come verifico che Docker funzioni?

docker run --rm hello-world
docker compose version

Il primo comando testa il demone, il secondo il plugin Compose v2.

Approfondisci: Cos'è Docker e a cosa serve?Cos'è Docker Compose?

Chiedi in chat