Docker Debian · 9 min read · Oct 05, 2025

Come Installare e Usare Docker su Debian 12

Docker è un insieme di piattaforme aperte che forniscono virtualizzazione a livello di sistema operativo per sviluppare, spedire e eseguire applicazioni. In Docker, le applicazioni sono consegnate come pacchetti standardizzati chiamati contenitori. Ogni contenitore è isolato dagli altri, comprese le librerie e i file di configurazione, ma ciascuno può comunicare attraverso canali di rete ben definiti.

Ad oggi, Docker è diventato uno standard per lo sviluppo software e DevOps. Milioni di sviluppatori lo usano per costruire, condividere ed eseguire applicazioni quotidianamente al lavoro. È utilizzato nel ciclo di vita dello sviluppo delle applicazioni, dallo sviluppo stesso, ai test e alla produzione. Con Docker, l’applicazione diventa più flessibile e portatile. Le applicazioni possono essere eseguite ovunque su diversi sistemi operativi facilmente, ma l’applicazione stessa rimane la stessa, dalle librerie ai file di configurazione.

In questa guida, ti mostrerò come installare Docker Engine sull’ultimo Debian 12. Vedrai anche come gestire il servizio Docker tramite systemctl e imparerai le basi dell’uso di Docker per gestire immagini, contenitori e volumi.

Requisiti

Assicurati di avere i seguenti requisiti prima di procedere con questa guida:

Una macchina Debian 12 - Puoi utilizzare sia Debian desktop che server.
Un utente non root con privilegi di amministratore sudo.

Installazione di Docker Engine

Per ottenere l’ultima versione di Docker Engine, devi installarlo tramite il repository ufficiale di Docker. Devi prima aggiungere il repository Docker e la chiave GPG, quindi installare Docker Engine.

Prima di tutto, aggiorna e aggiorna il repository Debian per ottenere le ultime informazioni sui pacchetti. Quindi, installa i pacchetti di base ca-certificates, curl e gnupg sul tuo sistema Debian. Quando richiesto, inserisci y e premi INVIO per confermare.

sudo apt update  
sudo apt install ca-certificates curl gnupg

install curl gnupg

Ora esegui i seguenti comandi per impostare la chiave GPG per il repository Docker, che sarà memorizzata nella directory /etc/apt/keyrings/.

sudo install -m 0755 -d /etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Dopo di che, esegui il comando qui sotto per aggiungere il repository Docker per il sistema Debian. Al momento della scrittura, Docker fornisce repository sia per Debian 11 che 12.

echo \  
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \  
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \  
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

adding docker gpg key and repository

Successivamente, aggiorna di nuovo il repository Debian e installa Docker Engine tramite il comando apt qui sotto. Questo comando installerà anche il containerd, che è il motore dei contenitori predefinito, il plugin Docker buildx come plugin di build predefinito con capacità BuildKit, e il plugin Docker compose.

sudo apt update  
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Inserisci y quando richiesto e premi INVIO.

install docker

Dopo aver installato Docker, esegui il seguente comando per controllare la versione. Durante questa scrittura, Docker v24.0.4 è installato su Debian 12.

docker version

docker version

Gestione del Servizio Docker

Il Docker Engine richiede il containerd, che viene utilizzato come motore dei contenitori predefinito. Sia containerd che docker dovrebbero essere in esecuzione sul tuo host Docker. Ora, imparerai come gestire i servizi Docker e containerd tramite l’utilità systemd systemctl.

Su Debian, i servizi docker e containerd sono abilitati automaticamente. Esegui il seguente comando per verificare entrambi i servizi docker e containerd.

sudo systemctl is-enabled docker  
sudo systemctl is-enabled containerd

Se abilitati, dovresti ottenere l’output enabled nel tuo terminale.

Ora esegui il comando qui sotto per controllare lo stato del servizio di docker e containerd.

sudo systemctl status docker  
sudo systemctl status containerd

Se il servizio è in esecuzione, il messaggio active (running) verrà visualizzato nel tuo terminale.

checking docker service

Successivamente, puoi eseguire il comando qui sotto per avviare i servizi docker e containerd.

sudo systemctl start docker  
sudo systemctl start containerd

Se necessario fermare Docker, esegui i seguenti comandi per fermare i servizi Docker e containerd.

sudo systemctl stop docker  
sudo systemctl stop containerd

Infine, riavvia utilizzando il seguente comando se apporti modifiche alla configurazione di Docker.

sudo systemctl restart docker  
sudo systemctl restart containerd

Configurare Docker per Utenti Non-root

Per impostazione predefinita, solo l’utente root può eseguire il contenitore con Docker Engine. Per consentire agli utenti non root, devi aggiungere l’utente al gruppo docker. Per aggiungere il tuo utente al gruppo docker, completa queste sezioni, quindi esegui il contenitore hello-world.

Esegui il comando usermod qui sotto per aggiungere il tuo utente al gruppo docker e accedi come tuo utente tramite su.

sudo usermod -aG docker nomeutente  
su - nomeutente

Ora inserisci il seguente comando per eseguire il contenitore hello-world tramite il tuo utente.

docker run hello-world

Se tutto va bene, dovresti ricevere un messaggio di Hello World dal contenitore Docker come questo:

docker for non-root

Infine, eseguendo il comando docker qui sotto puoi verificare l’elenco dei contenitori.

docker ps -a

Dovresti vedere un contenitore con lo stato Uscito. Il nome del contenitore hello-world è casuale per impostazione predefinita, in questo caso, il nome è optimistic_edison.

Eseguire e Gestire Contenitori con Docker

A questo punto, il Docker Engine è in esecuzione e puoi iniziare a creare contenitori tramite la riga di comando docker. Nella sezione seguente, imparerai le basi dell’uso di Docker per:

  • Gestire le immagini Docker
  • Creare e gestire contenitori
  • Controllare i log dei contenitori
  • Creare e gestire volumi Docker

Gestire le Immagini Docker

Un’immagine docker è l’intera applicazione confezionata in un’unica immagine e facilmente distribuita tramite il registro delle immagini. Il registro delle immagini predefinito per Docker è https://hub.docker.com/.

Nella sezione seguente, imparerai come scaricare immagini Docker, controllare le immagini scaricate e eliminare immagini.

Per scaricare l’immagine Docker dal Docker Registry, esegui il comando docker pull qui sotto. Il seguente comando scaricherà l’immagine nginx con il tag predefinito latest.

docker pull nginx

docker pull

Per specificare la versione dell’immagine, aggiungi la versione dell’immagine dopo l’immagine target come segue.

docker pull nginx:alpine

download specific image version

Ora verifica le immagini disponibili sul tuo host Docker tramite il comando qui sotto.

docker images

Le immagini Docker scaricate dovrebbero essere disponibili con informazioni dettagliate come il tag dell’immagine e la dimensione.

list images

Infine, usa il parametro rmi per rimuovere l’immagine Docker dal tuo computer.

docker rmi nomeimmagine

Gestire i Contenitori

Un contenitore è dove la tua applicazione è in esecuzione, ed è basato sulla tua immagine Docker. Un contenitore può montare una directory o un volume specifico per dati persistenti ed esporre una porta specifica nell’host Docker per l’applicazione.

In questa sezione, imparerai come creare ed eseguire il contenitore, controllare il contenitore e avviare e fermare il contenitore tramite la riga di comando docker.

Per eseguire il contenitore, usa il parametro run all’interno del comando docker in questo modo.

docker run -it -d -p 8080:80 --name web nginx:alpine

Il seguente comando eseguirà un contenitore web utilizzando l’immagine nginx:alpine. Inoltre, il contenitore web esporrà la porta 80 all’interno del contenitore e la porta 8080 all’interno della macchina host Docker. Inoltre, il parametro -it ti staccherà dal contenitore, e il parametro -d eseguirà il contenitore web in background.

Ora esegui il comando docker ps qui sotto per verificare l’elenco dei contenitori sulla tua macchina Docker.

docker ps  
docker ps -a

Se tutto va bene, dovresti vedere il contenitore web in esecuzione e la porta 8080 esposta sulla macchina host.

Mentre il comando docker run creerà e avvierà il contenitore, puoi anche avviare e fermare il contenitore tramite il comando docker.

Esegui il comando docker stop qui sotto per fermare il contenitore web.

docker container stop web  
docker ps -a

stop container

Per avviare di nuovo il contenitore web, usa il seguente comando docker start.

docker container start web  
docker ps

Infine, esegui il comando docker rm qui sotto per eliminare il contenitore. Il parametro -f viene utilizzato per forzare l’eliminazione del contenitore, anche quando il contenitore target è in esecuzione.

docker container rm optimistic_edison  
docker container rm optimistic_edison -f

Controllare i Log dei Contenitori

Controllare i log in Docker è importante perché avrai sempre bisogno di questo per eseguire il debug della tua applicazione containerizzata. Ora, imparerai come controllare i log dei contenitori in Docker.

Per controllare i log del contenitore, usa il parametro logs nel comando docker in questo modo. Questo mostrerà i log dalla creazione del contenitore.

docker logs web

check toantiner log

Ora puoi anche aggiungere l’opzione –tail N per ottenere solo gli ultimi log in questo modo. In questo caso, l’opzione –tail 15 mostrerà solo le ultime 15 righe di log.

docker logs --tail 15 web

check last log container

Gestire il Volume Docker

Il volume Docker è dove la tua applicazione può utilizzare lo storage persistente. Puoi modificare i tuoi contenitori e continuare a utilizzare lo stesso volume o dati per la tua applicazione. La sezione seguente mostra l’uso di base del volume Docker, dalla creazione del volume al controllo e all’uso del volume all’interno del contenitore.

Per creare un nuovo volume, esegui il comando docker volume qui sotto. In questa demo, creerai un nuovo volume Docker myvol.

docker volume create myvol

Verifica i volumi disponibili sul tuo host Docker utilizzando l’opzione ls in questo modo. Dovresti vedere che il volume myvol è stato creato.

docker volume ls

create check volume docker

Per impostazione predefinita, Docker creerà volumi con il driver locale, che utilizza la directory locale come archivio dati. E la directory di archiviazione dati predefinita si trova nella directory /var/lib/docker/volume. Esegui l’opzione inspect in questo modo per controllare i dettagli del volume myvol.

docker volume inspect myvol

Dovresti vedere il volume myvol con il driver predefinito locale e l’archivio dati si trova nella directory /var/lib/docker/volumes/myvol/_data. La sezione Mountpoint è la directory di archiviazione dati locale.

detailed volume

Successivamente, puoi utilizzare il volume Docker sul tuo contenitore tramite l’opzione -v, che combina tutte le opzioni in un campo, e l’opzione –mount che è più esplicita, verbosa e con una sintassi separata.

Esegui il seguente comando docker run per creare un nuovo contenitore web2 con il volume myvol tramite l’opzione –mount. Quindi, ispeziona il contenitore web tramite il comando docker inspect.

docker run -d \  
  -p 8081:80 \  
  --name web2 \  
  --mount source=myvol,target=/app \  
  nginx:alpine
docker inspect web

all’interno della sezione Mounts, dovresti vedere che il contenitore web sta utilizzando il volume myvol per la directory di destinazione /app all’interno del contenitore.

checking mount

Per utilizzare l’opzione -v, il comando docker run dovrebbe essere simile a questo. L’opzione -v utilizza un singolo campo per montare il volume myvol2 nella directory di destinazione /app.

docker run -d \  
  -p 8082:80 \  
  --name web3 \  
  -v myvol2:/app \  
  nginx:alpine

Infine, esegui il comando docker volume qui sotto con il parametro rm per rimuovere il volume Docker

docker rm web2 -f  
docker volume rm myvol

Conclusione

Ottimo lavoro! Hai completato l’installazione di Docker Engine sul tuo server Debian 12. Hai anche imparato come gestire il servizio Docker tramite l’utilità di comando systemctl e hai imparato come gestire immagini Docker, contenitori e volumi Docker tramite il client docker.

Ulteriori esplorazioni, puoi iniziare a costruire un’immagine Docker per la tua applicazione tramite Dockerfile.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.