Ricerca nel sito web

Comandi CLI di Docker che ogni sviluppatore dovrebbe conoscere nel 2025


Se vuoi iniziare con Docker, capire come utilizzare la sua interfaccia a riga di comando è fondamentale per gestire efficacemente i tuoi container e le tue immagini.

Docker è diventato la soluzione principale per il containerizzazione delle applicazioni, e questa guida ti conduce attraverso i comandi essenziali che devi conoscere per gestire il tuo ambiente Docker.

Iniziare con i comandi Docker

Prima di entrare nei comandi specifici, è importante capire che i comandi di Docker seguono una struttura semplice e la maggior parte dei comandi inizia con docker seguito dall'azione che si desidera eseguire e da eventuali opzioni o argomenti aggiuntivi.

I primi comandi con cui dovresti familiarizzare sono i comandi help e version, utili per qualsiasi strumento da riga di comando, e Docker non fa eccezione.

Per verificare la versione di Docker, basta eseguire:

docker --version

Quando hai bisogno di aiuto con qualsiasi comando Docker, il sistema di aiuto integrato diventa il tuo primo punto di riferimento, dove puoi accedere alle informazioni generali di aiuto eseguendo il seguente comando:

docker --help

Verifica la versione di Docker e utilizza l'aiuto integrato

Puoi anche ottenere aiuto specifico per qualsiasi comando particolare che desideri comprendere meglio, il che mostrerà tutte le opzioni e i flag disponibili per quel comando specifico.

docker run --help

Ottieni aiuto dettagliato per qualsiasi comando Docker

Lavorare con le immagini Docker

Docker le immagini costituiscono la base dei tuoi container, in quanto contengono tutto il necessario per eseguire un'applicazione, incluso il codice, l'ambiente di esecuzione, le librerie e le dipendenze.

I seguenti comandi ti guidano su come lavorare efficacemente con le immagini Docker.

Ricerca di immagini Docker

Prima di poter utilizzare un'immagine, devi prima trovarla su Docker Hub, che funge da registro predefinito dove migliaia di immagini predefinite sono disponibili per il tuo utilizzo.

Per cercare un'immagine specifica, puoi eseguire il comando seguente, che mostrerà un elenco delle immagini nginx disponibili insieme alle loro descrizioni e valutazioni a stelle, aiutandoti a identificare le opzioni più popolari e ben mantenute.

sudo docker search nginx

Cerca immagini Docker su Docker Hub

Scaricare immagini Docker

Una volta trovata l'immagine di cui hai bisogno, puoi scaricarla sul tuo sistema locale usando il comando pull, che prenderà l'ultima versione:

sudo docker pull nginx

Se hai bisogno di una versione specifica, puoi specificare il tag:

sudo docker pull nginx:1.25.3

Scarica immagini Docker da Docker Hub

Elenco delle immagini Docker locali

Per vedere tutte le immagini che hai memorizzato localmente, usa il seguente comando, che mostrerà una tabella con il nome del repository, il tag, l'ID dell'immagine, la data di creazione e la dimensione di ciascuna immagine sul tuo sistema.

sudo docker images

Controlla le immagini Docker memorizzate localmente

Creazione di immagini Docker personalizzate

Quando hai bisogno di creare la tua immagine personalizzata da un Dockerfile, devi prima creare il Dockerfile stesso nella tua directory corrente con il seguente contenuto:

FROM ubuntu:24.04
RUN apt update && apt install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Il Dockerfile sopra crea un'immagine di un semplice server web basato su Ubuntu 24.04 che installa ed esegue Nginx. Una volta che hai un Dockerfile a disposizione, puoi quindi creare la tua immagine personalizzata utilizzando il comando build:

sudo docker build -t myapp:1.0 .

Il flag -t ti permette di etichettare la tua immagine con un nome e una versione per una facile identificazione; in questo esempio, myapp è il nome dell'immagine e 1.0 è il tag della versione. Il . (punto) alla fine indica che il contesto di build è la tua directory corrente, dove Docker cercherà il Dockerfile che hai appena creato.

Costruire un'immagine Docker da un Dockerfile

Rimozione delle immagini Docker

Quando hai bisogno di rimuovere un'immagine che non ti serve più dal tuo sistema, puoi usare il seguente comando:

sudo docker rmi nginx:latest

Rimuovere un'immagine Docker in modo sicuro

Tuttavia, se l'immagine è attualmente utilizzata da un container in esecuzione o fermo, Docker impedirà di rimuoverla. In questi casi, dovrai prima rimuovere il container prima di eliminare l'immagine oppure, in alternativa, puoi forzare la rimozione aggiungendo il flag -f al comando.

docker rm container_name
docker rmi -f nginx:latest

Gestione dei container Docker

La sezione successiva ti guida nella gestione dei container, che sono le istanze attive delle tue immagini Docker. Capire come gestire e controllare questi container è fondamentale per lavorare con Docker in modo efficace nelle operazioni quotidiane.

Esecuzione di container Docker

Il modo più semplice per eseguire un contenitore da un'immagine è utilizzare il seguente comando.

sudo docker run nginx

Esegui un contenitore Docker da un'immagine

Tuttavia, il comando sopra esegue il container in primo piano, il che blocca il terminale. Per un uso pratico in scenari reali, vorrai eseguire i tuoi container in modalità distaccata:

sudo docker run -d nginx

Puoi anche mappare le porte e assegnare nomi ai tuoi container per una gestione e un'identificazione più semplici:

sudo docker run -d -p 8080:80 --name my-webserver nginx

Il comando sopra esegue un contenitore nginx in background utilizzando il flag -d, mappa la porta 8080 sulla macchina host alla porta 80 all'interno del contenitore usando il flag -p e assegna al contenitore il nome "my-webserver" con il flag --name.

Elenco dei container Docker

Per vedere tutti i container che sono attualmente in esecuzione sul tuo sistema, puoi usare il seguente comando:

sudo docker ps

Tuttavia, se vuoi vedere tutti i container sul tuo sistema, inclusi quelli fermati, puoi aggiungere il flag -a al comando:

sudo docker ps -a

Elenca i container Docker in esecuzione

Avviare e arrestare i container Docker

Prima di poter fermare, avviare o riavviare un container, devi prima sapere quali container sono presenti sul tuo sistema.

sudo docker ps -a

Una volta che conosci i nomi dei container, puoi fermare un container in esecuzione utilizzando il comando stop:

sudo docker stop my-webserver

Per avviare un container che è stato precedentemente arrestato, puoi utilizzare il comando start:

sudo docker start my-webserver

Se hai bisogno di riavviare un container, il che significa fermarlo e poi avviarlo di nuovo, puoi usare il comando restart:

sudo docker restart my-webserver

Avviare e arrestare i container Docker

Rimozione dei container Docker

Quando non hai più bisogno di un contenitore, puoi rimuoverlo dal sistema per liberare spazio utilizzando il comando rm:

sudo docker rm happy_satoshi

Tuttavia, se provi a rimuovere un contenitore che è attualmente in esecuzione, Docker impedirà la rimozione e mostrerà un errore. In tali casi, hai due opzioni: puoi fermare prima il contenitore e poi rimuoverlo, oppure puoi forzare la rimozione utilizzando il flag -f:

sudo docker rm -f happy_satoshi

Il flag force ti permette di rimuovere un container in esecuzione senza fermarlo prima, anche se dovresti usare questa opzione con cautela poiché termina immediatamente il container senza un arresto corretto.

Rimuovere un contenitore Docker

Monitoraggio e debug dei container Docker

Capire cosa succede all'interno dei tuoi container è fondamentale per risolvere problemi e mantenere applicazioni funzionanti. Le sezioni seguenti ti guideranno attraverso i comandi essenziali per monitorare e fare il debug dei tuoi container Docker.

Visualizzazione dei log del contenitore

Per controllare i log generati da un container, puoi usare il comando logs:

sudo docker logs awesome_heyrovsky

Se vuoi seguire i log in tempo reale mentre vengono generati, in modo simile all'utilizzo di tail -f su un file di log, puoi aggiungere il flag -f:

sudo docker logs -f awesome_heyrovsky

Visualizzazione dei log del container Docker

Esecuzione di comandi all'interno dei container

Una delle funzionalità più potenti che Docker offre è la possibilità di eseguire comandi all'interno dei container in esecuzione, il che ti permette di accedere alla shell del container ed esplorare il suo ambiente:

sudo docker exec -it awesome_heyrovsky /bin/bash

Il comando sopra apre una shell interattiva all'interno del container usando i flag -it (terminal interattivo), che ti permette di eseguire comandi, controllare file e risolvere problemi direttamente nell'ambiente del container.

Esegui comandi all'interno di un container Docker in esecuzione

Ispezionare i dettagli del contenitore

Quando hai bisogno di informazioni dettagliate sulla configurazione di un contenitore, sulle impostazioni di rete e sullo stato, puoi usare il comando inspect:

sudo docker inspect awesome_heyrovsky

Il comando sopra restituisce dati completi in formato JSON sul container, inclusa la sua configurazione, le impostazioni di rete, i volumi montati e le variabili d'ambiente.

Visualizzazione della configurazione del container Docker

Monitoraggio dell'utilizzo delle risorse

Per visualizzare l'utilizzo delle risorse in tempo reale per tutti i container in esecuzione sul tuo sistema, puoi usare il comando stats, che mostrerà un flusso dal vivo dell'utilizzo della CPU, del consumo di memoria, dell'I/O di rete e dell'utilizzo del disco per ogni container in esecuzione:

sudo docker stats

Monitorare l'utilizzo delle risorse dei container Docker

Pulizia e manutenzione di Docker

Col tempo, Docker accumula immagini, container, reti e altre risorse inutilizzate sul tuo sistema, quindi è importante effettuare una pulizia regolare per liberare spazio su disco e mantenere organizzato l'ambiente Docker.

Per rimuovere tutti i contenitori fermati dal tuo sistema con un solo comando, puoi usare:

sudo docker container prune

Se vuoi rimuovere le immagini inutilizzate che non vengono più utilizzate da alcun container, usa:

sudo docker image prune

Per una pulizia più completa che affronta contemporaneamente diversi tipi di risorse inutilizzate, puoi usare il comando di sistema prune:

sudo docker system prune

Rimuovi tutti i container Docker fermati

Foglio di Comandi Docker

Ecco una comoda tabella di riferimento dei comandi Docker più comunemente usati per un accesso rapido:

ComandoDescrizioneEsempio
docker --versionVerifica la versione di Dockerdocker --version
docker pullScarica un'immaginedocker pull nginx
docker immaginiElenca le immagini localidocker immagini
docker runCrea e avvia il contenitoredocker run -d nginx
docker psElenca i container in esecuzionedocker ps
docker ps -aElenca tutti i contenitoridocker ps -a
docker stopFerma un contenitoredocker stop my-container
docker startAvviare un contenitoredocker start my-container
docker restartRiavvia un contenitoredocker restart my-container
docker rmRimuovere un contenitoredocker rm my-container
docker rmiRimuovere un'immaginedocker rmi nginx
docker logsVisualizza i log del contenitoredocker logs my-container
docker execEsegui comando nel contenitoredocker exec -it my-container bash
docker inspectVisualizza informazioni dettagliatedocker inspect my-container
docker statsMonitorare l'utilizzo delle risorsedocker stats
docker system prunePulisci le risorse non utilizzatedocker system prune
Conclusione

Questa guida ti ha illustrato i comandi Docker essenziali che devi conoscere per gestire efficacemente container e immagini nel tuo ambiente.

Hai imparato come cercare e scaricare immagini da Docker Hub, eseguire e gestire container con varie opzioni, monitorarne le prestazioni e i log, e mantenere il tuo ambiente Docker pulito attraverso una manutenzione regolare.

Hai trovato qualche comando Docker particolarmente utile? Oppure hai suggerimenti e trucchi che rendono più facile lavorare con Docker? Sentiti libero di condividere la tua esperienza nei commenti qui sotto, le tue informazioni potrebbero aiutare altri lettori nel loro percorso con Docker!