Foglio di riferimento di Docker
Alcuni parametri comuni dei comandi Docker
Ecco un compendio rapido di Docker che copre i comandi più importanti e i concetti, dall’installazione all’esecuzione dei container e alla pulizia:

Questa guida fa parte di Strumenti per sviluppatori: La guida completa ai flussi di lavoro di sviluppo moderni.
Installazione
Per una guida completa all’installazione di Docker su Ubuntu — che confronta il repository APT ufficiale, docker.io, Snap, la modalità senza privilegi di root (rootless) e la configurazione del plugin Compose — consulta Installa Docker su Ubuntu.
Dopo l’installazione, aggiungi il tuo utente al gruppo docker se devi eseguire comandi senza sudo:
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
La guida all’installazione copre anche i compromessi di sicurezza relativi all’appartenenza al gruppo docker e le alternative senza privilegi di root.
Comandi Docker Generali
Versione e Informazioni di Sistema
docker version # Visualizza le versioni di Docker CLI e del daemon
docker system info # Elenca i dati relativi al tuo ambiente Docker
docker help # Visualizza l'indice di aiuto
docker <comando> --help # Visualizza le informazioni di aiuto per un comando specifico
Accesso e Disconnessione
docker login # Accedi a Docker Hub
docker logout # Disconnettiti da Docker Hub
Gestione delle Immagini
Elenco Immagini
docker images # Elenca tutte le immagini
docker images -a # Elenca tutte le immagini, incluse quelle intermedie
Scarica Immagini
docker pull <nome-immagine:versione> # Scarica un'immagine da Docker Hub
Crea Immagini
docker build -t <nome-immagine> . # Crea un'immagine dal Dockerfile nella directory corrente
docker build -f <percorso-Dockerfile> -t <nome-immagine> . # Crea un'immagine da un Dockerfile specifico
docker build --build-arg foo=bar . # Crea un'immagine con argomenti di compilazione
docker build --pull . # Scarica le versioni aggiornate delle immagini riferite nelle istruzioni FROM
docker build --quiet . # Crea un'immagine senza visualizzare l'output
Etichetta e Carica Immagini
docker tag <nome-immagine-locale> <username>/<nome-immagine-preferito>
docker push <username>/<nome-immagine-preferito>
Rimuovi Immagini
docker rmi <nome-immagine> # Rimuovi un'immagine specifica
docker image prune # Rimuovi le immagini non utilizzate
docker image prune -a # Rimuovi tutte le immagini non utilizzate
Rimuovi immagini orfane
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Rimuovi etichetta immagine
docker rmi repository/nome-immagine:tag
Gestione dei Container
Esegui Container
docker run -itd --name <nome-container> <nome-immagine> # Esegui un container in modalità staccata
docker run -it -p <porta-host>:<porta-docker> <nome-immagine> # Esegui un container con mapping delle porte
docker run -it --name <nome-container> <nome-immagine> # Esegui un container in modalità interattiva
Elenco Container
docker ps # Elenca i container in esecuzione
docker ps -a # Elenca tutti i container
docker ps -s # Elenca i container in esecuzione con l'utilizzo di CPU e memoria
Avvia, Ferma e Riavvia Container
docker start <nome-container> # Avvia un container fermato
docker stop <nome-container> # Ferma un container in esecuzione
docker restart <nome-container> # Riavvia un container
Rimuovi Container
docker rm <nome-container> # Rimuovi un container fermato
docker rm -f <nome-container> # Rimuovi forzatamente un container
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Rimuovi tutti i container
Rimuovi tutti i container fermati
docker container prune
Connettiti ai Container
docker attach <nome-container> # Connettiti a un container in esecuzione
docker exec -it <nome-container> bash # Esegui un comando in un container in esecuzione in modalità interattiva
Ispeziona Container
docker inspect <nome-container> # Ispeziona un container
docker logs <nome-container> # Visualizza i log di un container
docker port <nome-container> # Mostra i mapping delle porte di un container
Gestione delle Reti
docker network ls # Elenca tutte le reti
docker network create <nome-rete> # Crea una nuova rete
docker network rm <nome-rete> # Rimuovi una rete
Gestione dei Volumi
docker volume ls # Elenca tutti i volumi
docker volume create <nome-volume> # Crea un nuovo volume
docker volume rm <nome-volume> # Rimuovi un volume
docker run -v <percorso-host>:<percorso-container> <nome-immagine> # Monta un volume
Docker Compose
Per stack multi-container e comandi quotidiani di Compose, consulta il Compendio Rapido Docker Compose. Quando un progetto Compose deve avviarsi all’avvio e sopravvivere ai riavvii su un server Linux, Esegui Docker Compose come Servizio Linux con systemd copre i file unità e le abitudini operative.
Comandi di Base
docker-compose up # Avvia i servizi definiti in docker-compose.yml
docker-compose up -d # Avvia i servizi in modalità staccata
docker-compose down # Ferma e rimuovi i servizi
docker-compose ps # Elenca i servizi in esecuzione
docker-compose logs # Visualizza i log dei servizi
docker-compose start # Avvia i servizi
docker-compose stop # Ferma i servizi
docker-compose pause # Metti in pausa i servizi
docker-compose unpause # Riprendi i servizi dalla pausa
Comandi Dockerfile
Crea Immagine da Dockerfile
docker build -t <nome-immagine> <percorso-Dockerfile> # Crea un'immagine da un Dockerfile
Esempio di Dockerfile
FROM <immagine-base>
RUN <comando>
COPY <sorgente> <destinazione>
EXPOSE <porta>
CMD ["<comando>", "<argomento>"]
Sicurezza e Segreti
Segreti Docker
docker secret create <nome-segreto> <file> # Crea un segreto
docker secret ls # Elenca tutti i segreti
docker secret rm <nome-segreto> # Rimuovi un segreto
Sicurezza Docker
- Utilizza i segreti Docker per gestire centralmente i dati sensibili e trasmetterli in modo sicuro ai container.
- I segreti sono crittografati durante il transito e a riposo in uno swarm Docker.
Pulizia
Rimuovi Risorse Non Utilizzate
docker system prune # Rimuovi i dati non utilizzati (immagini, container, reti, volumi)
docker image prune # Rimuovi le immagini non utilizzate
docker container prune # Rimuovi i container non utilizzati
docker network prune # Rimuovi le reti non utilizzate
docker volume prune # Rimuovi i volumi non utilizzati
Rimuovi immagini senza etichetta
A volte, dopo una lunga compilazione, si ottiene un output simile a questo dal comando docker images:

per rimuovere quelle immagini con tag
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
Il comando sopra è vecchio e incompatibile. Il parametro dangling=true è obsoleto. Utilizza
docker system prune
ti verrà chiesto:
ATTENZIONE! Questo rimuoverà:
- tutti i container fermati
- tutti i volumi non utilizzati da almeno un container
- tutte le reti non utilizzate da almeno un container
- tutte le immagini orfane
Potresti decidere di dire Sì a questo avviso…
Questo compendio copre i comandi e i concetti essenziali necessari per gestire container, immagini, reti, volumi Docker e altro ancora. Per un approfondimento, fai riferimento alle guide e ai tutorial dettagliati disponibili online.