Skip to content

Comandi Docker spiegati

I comandi Docker usati ogni giorno, raggruppati per attività: creare e spostare immagini, avviare e fermare container, regolare docker run con i flag, leggere log e statistiche, entrare dentro un container, copiare file e comunicare con i registry, gestire volumi e reti, guidare Compose e recuperare spazio su disco.

Docker si divide in due oggetti: le immagini (il modello in sola lettura) e i container (un'istanza in esecuzione di un'immagine). Crei o scarichi un'immagine, la esegui come container, ispezioni cosa sta succedendo, poi pulisci. La maggior parte delle persone usa anche Compose per dichiarare applicazioni multi-container. Ogni comando qui sotto ha una forma breve; la forma lunga è mostrata dove è la più chiara.

Tabella di riferimento · 75 voci
75 of 75 rows
Build
Crea un'immagine da un Dockerfile.docker build -t app:1.0 .
Ricostruisce l'immagine da zero, ignorando i layer in cache.docker build --no-cache -t app:1.0 .
Costruisce solo fino a uno stage nominato in un Dockerfile multi-stage.docker build --target deps -t app:deps .
Costruisce immagini tramite il plugin buildx, che guida BuildKit.docker buildx build -t app:1.0 .
Costruisce una sola immagine per diverse architetture CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Immagini
Scarica un'immagine da un registry.docker pull node:20
Elenca le immagini salvate in locale.docker images
Crea un nuovo tag che punta alla stessa immagine.docker tag app:1.0 app:latest
Rimuove una o più immagini locali.docker rmi app:1.0
Ciclo di vita dei container
Crea e avvia un container da un'immagine.docker run -p 8080:3000 app
Crea un container senza avviarlo.docker create --name web app
Avvia un container che era stato fermato.docker start web
Ferma con grazia un container in esecuzione.docker stop web
Ferma e avvia un container in un solo passo.docker restart web
Ferma subito un container, senza attendere lo shutdown grazioso.docker kill web
Congela tutti i processi dentro un container.docker pause web
Scongela i processi di un container in pausa.docker unpause web
Resta bloccato finché un container si ferma, poi stampa il suo exit code.docker wait web
Elenca i container in esecuzione; aggiungi -a per includere quelli fermi.docker ps -a
Dà un nuovo nome a un container esistente.docker rename web web-old
Modifica i limiti di risorse o la politica di restart di un container.docker update --restart=unless-stopped web
Rimuove un container fermo.docker rm web
Flag di run
Esegue il container in background e stampa il suo ID.docker run -d -p 8080:80 app
Pubblica una porta del container su una porta dell'host.docker run -p 8080:80 app
Monta una cartella dell'host o un volume con nome nel container.docker run -v app-data:/data app
Imposta una variabile d'ambiente nel container.docker run -e MODE=prod app
Dà al container un nome fisso da usare nei comandi successivi.docker run --name web app
Elimina il container quando esce.docker run --rm app
Avvia il container su una rete specifica.docker run --network net app
Dice a Docker quando riavviare il container.docker run --restart unless-stopped app
Alloca un terminale e tiene stdin aperto per una sessione interattiva.docker run -it alpine sh
Sostituisce l'entrypoint dell'immagine con un tuo comando.docker run --entrypoint sh app
Limita la memoria o la quota di CPU che il container può usare.docker run --memory 512m --cpus 0.5 app
Ispezione
Legge stdout e stderr di un container; -f segue il nuovo output man mano che arriva.docker logs -f web
Mostra configurazione e stato a basso livello di un container o di un'immagine.docker inspect web
Estrae un singolo campo da inspect con un template Go.docker inspect --format '{{.State.Status}}' web
Elenca le porte dell'host che un container pubblica.docker port web
Mostra i file che un container ha modificato rispetto alla sua immagine.docker diff web
CPU, memoria e rete in tempo reale per i container in esecuzione.docker stats
Elenca i processi in esecuzione dentro un container.docker top web
Trasmette in streaming gli eventi Docker del daemon mentre accadono.docker events --filter type=container
Mostra lo spazio su disco usato da immagini, container, volumi e cache.docker system df
Mostra impostazioni e stato di Docker a livello di sistema.docker info
Exec e attach
Esegue un comando dentro un container in esecuzione.docker exec -it web sh
Collega il tuo terminale al processo principale di un container.docker attach web
File e registry
Copia file tra un container e il filesystem locale.docker cp web:/app/logs ./logs
Accede a un registry dalla CLI.docker login
Esce da un registry.docker logout
Carica un'immagine locale su un registry.docker push user/app:1.0
Scrive un'immagine in un file tar.docker save -o app.tar app:1.0
Legge un'immagine da un file tar.docker load -i app.tar
Scrive il filesystem di un container in un file tar.docker export web > web.tar
Crea un'immagine da un filesystem tar.docker import web.tar web:snap
Trasforma lo stato attuale di un container in una nuova immagine.docker commit web app:snap
Volumi
Crea un volume con nome per i dati persistenti.docker volume create data
Elenca i volumi.docker volume ls
Rimuove un volume.docker volume rm data
Reti
Elenca le reti.docker network ls
Crea una rete così che i container possano raggiungersi.docker network create net
Collega un container in esecuzione a una rete.docker network connect net web
Compose
Costruisce, (ri)crea e avvia i servizi in compose.yaml; -d li lascia in esecuzione in background.docker compose up -d
Avvia i servizi ricostruendo prima le loro immagini.docker compose up --build -d
Esegue un comando dentro il container di un servizio in esecuzione.docker compose exec api sh
Segue i log di uno o più servizi.docker compose logs -f api
Elenca i container dei servizi gestiti da Compose.docker compose ps
Ferma i container dei servizi senza rimuoverli.docker compose stop
Riavvia i container dei servizi.docker compose restart api
Ferma e rimuove container e reti; -v rimuove anche i volumi con nome.docker compose down
Mostra la configurazione Compose finale dopo i merge e la sostituzione delle variabili d'ambiente.docker compose config
Pulizia
Rimuove container fermi, immagini dangling e reti inutilizzate; -a --volumes rimuove anche immagini e volumi inutilizzati.docker system prune -af
Rimuove tutti i container fermi.docker container prune
Rimuove immagini inutilizzate o dangling.docker image prune -a
Rimuove i volumi che nessun container usa.docker volume prune
Rimuove le reti che nessun container usa.docker network prune
Rimuove i layer di build in cache.docker builder prune