Docker Guide · 10 min read · Oct 05, 2025

Docker CE su Alma Linux 9: Una Guida all'Installazione Veloce e Facile

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

Ad oggi, Docker è diventato uno standard per lo sviluppo software e DevOps. È utilizzato da milioni di sviluppatori per costruire, condividere ed eseguire qualsiasi applicazione ogni giorno 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 in modo semplice, ma l’applicazione stessa rimane la stessa, dalle librerie ai file di configurazione.

In questa guida, imparerai come installare Docker CE (Community Edition) su Alma Linux 9. Questa guida copre anche l’uso di base di Docker per gestire immagini, contenitori e volumi, lavorare con i log dei contenitori e accedere ai contenitori tramite Docker Host.

Prerequisiti

Questa guida richiede quanto segue:

  • Un server Linux che esegue Alma Linux 9 - Questo esempio utilizza un server Alma Linux con hostname ‘alma-linux‘ e indirizzo IP ‘192.168.5‘.
  • Un utente non root con privilegi di amministratore sudo/root.

Aggiunta del Repository Docker CE

Docker è uno strumento di orchestrazione per sviluppare, spedire ed eseguire applicazioni tramite contenitori. Rende il processo di sviluppo più veloce perché Docker ti consente di creare immagini di applicazione senza fare affidamento sulla macchina host. Questo rende la distribuzione delle applicazioni agli sviluppatori più veloce e semplice.

Docker è un’orchestrazione di contenitori multi-piattaforma, può essere installato su Desktop e Server. Se stai usando un Desktop, puoi installare Docker Desktop, ma se stai usando un server, puoi installare Docker Engine tramite il repository ufficiale di Docker.

Nella prima sezione, configurerai il repository Docker CE sul tuo server Alma Linux.

Esegui il seguente comando per installare il pacchetto ‘dnf-utils‘.

sudo dnf install dnf-utils

Inserisci y quando richiesto, quindi premi INVIO per procedere.

install dnf utils

Ora, aggiungi il repository Docker CE utilizzando il seguente comando dnf.

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Una volta aggiunto il repository Docker CE, verifica utilizzando il comando qui sotto. Questo ti mostrerà l’elenco dei repository disponibili sul tuo Alma Linux.

sudo dnf repolist

Quando avrai successo, dovresti ricevere un output simile a questo:

adding repository

Passa alla sezione successiva per installare Docker CE.

Installazione di Docker CE

In questa sezione, installerai Docker CE sul server Alma Linux. Alla fine di questa sezione, avrai Docker in esecuzione sul tuo sistema.

Installa Docker CE utilizzando il seguente comando dnf. Con questo, installerai Docker con il pacchetto aggiuntivo ‘docker-buildx-plugin‘ che è il plugin Docker Build che rende la costruzione delle immagini più veloce, e il ‘docker-compose-plugin‘ è il plugin Docker Compose per uno sviluppo più semplice delle applicazioni.

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

Quando richiesto, inserisci y per confermare, quindi premi INVIO per procedere.

installing Docker

Inoltre, ti verrà chiesto di confermare la chiave GPG per il repository Docker. Inserisci per confermare, quindi premi INVIO.

accept gpg key

Una volta installato Docker, esegui il seguente comando systemctl per avviare e abilitare il servizio ‘docker’.

sudo systemctl start docker  
sudo systemctl enable docker

Dopo aver eseguito il comando, Docker sarà in esecuzione e sarà anche abilitato, il che significa che Docker si avvierà automaticamente all’avvio del sistema.

Esegui il comando qui sotto per verificare lo stato del servizio Docker e assicurati che Docker sia in esecuzione.

sudo systemctl status docker

Quando Docker è in esecuzione, dovresti aspettarti un output simile al seguente:

start enable and verify docker

Consentire a un Utente Non-root di Eseguire Contenitori Docker

Per impostazione predefinita, solo l’utente root è autorizzato a eseguire il contenitore tramite Docker. Questa sezione ti mostrerà come consentire agli utenti non root di eseguire contenitori Docker aggiungendo l’utente al gruppo esistente chiamato ‘docker‘.

Esegui il seguente comando per aggiungere il tuo utente al gruppo ‘docker‘. Questo esempio utilizza un utente chiamato ‘testuser‘.

sudo usermod -aG docker testuser

Ora, accedi come il tuo utente utilizzando il seguente comando. Quindi esegui il comando ‘docker run‘ qui sotto per eseguire il contenitore ‘hello-world‘.

su - testuser  
docker run hello-world

Quando avrai successo, dovresti ricevere un output simile al seguente:

running container as non root user

Successivamente, esegui il seguente comando docker per controllare i contenitori in esecuzione sul tuo sistema.

docker ps  
docker ps -a

Il primo comando ‘docker ps‘ non avrà output perché mostrerà solo un contenitore in esecuzione, e il contenitore ‘hello-world‘ è uscito/fermo dopo che il messaggio ‘Hello from Docker‘ è stato stampato. Ma per il secondo comando con ‘docker ps -a‘, ti darà output sia per i contenitori in esecuzione che per quelli usciti.

Uso di Base di Docker

Ora hai raggiunto con successo la fase in cui Docker è in esecuzione e hai anche consentito al tuo utente non root di eseguire il contenitore Docker. Ora, passiamo all’uso di base di Docker.

I seguenti passaggi ti mostreranno alcuni scenari per utilizzare Docker. Imparerai come gestire le immagini Docker, lavorare con il contenitore e il volume, e anche come accedere al contenitore dalla macchina host.

Con tutto in ordine, iniziamo.

Lavorare con le Immagini

Nel primo passaggio, lavorerai con l’immagine Docker. Scaricherai l’immagine e verificherai l’elenco delle immagini disponibili sulla tua macchina locale.

Per scaricare un’immagine, visita DockerHub e inserisci il nome dell’immagine Docker che desideri scaricare. In questo esempio, scaricherai l’immagine ‘nginx‘ con tag ‘alpine‘. Se fai clic sulla scheda TAGS, dovresti vedere l’elenco delle versioni disponibili dell’immagine Nginx.

list tags docker hub

Ora esegui il comando ‘docker pull‘ qui sotto per scaricare le immagini Docker. In questo esempio, scaricherai l’immagine ‘nginx:alpine‘, che si riferisce all’ultima versione dell’immagine Nginx Alpine.

docker pull nginx:alpine

docker pull download image

Una volta scaricato, esegui il seguente comando per elencare le immagini disponibili sul tuo host. Se hai seguito questi passaggi dall’inizio, dovresti vedere due immagini Docker, ‘hello-world‘ con il tag ‘latest‘ e ‘nginx‘ con il tag ‘alpine‘.

docker images

listing images

Lavorare con il Contenitore

Con l’immagine Docker scaricata, ora puoi eseguire il contenitore. Questa sezione ti mostrerà come creare ed eseguire un contenitore tramite Docker.

Per eseguire un contenitore, esegui il seguente comando ‘docker run‘ qui sotto.

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

Questo comando creerà un nuovo contenitore chiamato ‘web‘, che si basa sull’immagine Docker ‘nginx:alpine‘. Il nuovo contenitore ‘web‘ esporrà la porta ‘8080‘ sull’host Docker, che è equivalente alla porta 80 sul contenitore. Il parametro aggiuntivo ‘-it‘ viene utilizzato per eseguire il contenitore in modalità interattiva, e il parametro ‘-d‘ eseguirà il contenitore in background.

Dopo che il comando è stato eseguito, dovresti vedere un numero e una stringa casuali, che è il ‘CONTAINER ID‘.

Ora, esegui il comando qui sotto per controllare l’elenco dei contenitori in esecuzione.

docker ps

Dovresti aspettarti un output simile a questo - Il contenitore ‘web‘ con lo stato ‘Up‘ e ha esposto la porta 8080 sull’host Docker.

Successivamente, esegui il comando curl qui sotto per accedere al contenitore ‘web’ che è esposto sulla porta 8080. Quando avrai successo, dovresti vedere il codice sorgente HTML dell’indice predefinito del contenitore ‘web‘.

curl http://192.168.5.43:8080/

check nginx container

Infine, se desideri accedere al tuo contenitore dalla rete esterna, devi aprire la porta 8080 sul tuo server Alma Linux tramite il comando ‘firewall-cmd‘ qui sotto.

sudo firewall-cmd --add-port=8080/tcp --permanent  
sudo firewall-cmd --reload

Ora apri il browser web sulla tua macchina locale e visita l’indirizzo IP del server seguito dalla porta 8080 (ad es.: http://192.168.5.43:8080/). Dovresti aspettarti un output della pagina index.html per il contenitore ‘web‘.

index.html nginx container

Registrazione del Contenitore

La registrazione è importante in Docker, specialmente se stai sviluppando immagini per le tue applicazioni. La registrazione ti aiuta a eseguire il debug dello sviluppo della tua applicazione.

Esegui il seguente comando per ottenere i log completi del contenitore ‘web‘.

docker logs web

Di seguito è riportato un output simile che otterrai dal contenitore ‘web‘.

logging container

Puoi anche limitare l’output dei log tramite il parametro ‘tail‘ come qui sotto. Questo comando mostrerà le ultime 5 righe di log del contenitore ‘web‘.

docker logs --tail 5 web

limit logging

Gestione del Contenitore

In questa sezione, imparerai come gestire un contenitore. Imparerai come avviare, fermare e rimuovere il contenitore.

Per fermare un contenitore ‘web‘, esegui il comando ‘docker stop‘ qui sotto.

docker stop web

Ora, verifica il contenitore utilizzando il seguente comando. Dovresti ottenere un output del contenitore ‘web‘ con lo stato ‘Exited‘.

docker ps  
docker ps -a

Per riavviare il contenitore ‘web‘, esegui il comando ‘docker start‘ qui sotto. Quindi verifica l’elenco dei contenitori in esecuzione utilizzando il comando ‘docker ps‘.

docker start web  
docker ps

Dovresti ottenere un output che indica che il contenitore ‘web‘ è in esecuzione con lo stato ‘Up‘.

Infine, esegui il seguente comando per rimuovere il contenitore ‘web‘. Prima di eliminare il contenitore, devi prima fermarlo.

docker stop web  
docker rm web

Se controlli l’elenco dei contenitori tramite il comando ‘docker ps‘, dovresti aspettarti un output che indica che il contenitore ‘web‘ è stato eliminato.

docker ps -a

removing container

Lavorare con il Volume

Il volume è dove attacchi il tuo volume/directory locale al contenitore. Puoi considerare il volume come una ‘cartella condivisa‘ nella macchina virtuale. In questa sezione, creerai un nuovo contenitore con un volume personalizzato che ti consente di attaccare la directory locale al contenitore.

Prima, crea una nuova directory di progetto ‘~/project/data‘ e sposta la tua directory di lavoro al suo interno.

mkdir -p ~/project/data; cd ~/project

Ora, esegui il seguente comando per creare un nuovo file ‘data/index.html‘. Questo file sostituirà la pagina index.html predefinita del nuovo contenitore ‘web‘.

cat > data/index.html << EOF  
  
  
  
    
  Benvenuto in Docker Nginx  
  
  
  

Ciao dal contenitore Nginx

EOF

create custom index

Ora, esegui il seguente comando per creare ed eseguire un nuovo contenitore ‘web‘ con il volume personalizzato tramite il parametro ‘-v‘. In questo esempio, monterai la directory locale ‘~/project/data‘ al contenitore ‘web‘ con la directory di destinazione ‘/usr/share/nginx/html‘. L’opzione aggiuntiva ‘:ro‘ renderà la directory ‘/usr/share/nginx/html‘ sul contenitore sola lettura, mentre sulla macchina host lettura e scrittura sono ancora consentite.

docker run -it -d -p 8080:80 --name web -v ~/project/data:/usr/share/nginx/html:ro nginx:alpine

Successivamente, esegui il seguente comando per assicurarti che il nuovo contenitore ‘web‘ sia in esecuzione.

docker ps

Quando avrai successo, dovresti aspettarti un output simile al seguente - Il contenitore ‘web‘ è in esecuzione e ha esposto la porta 8080 sulla macchina host.

Ora, esegui il comando curl qui sotto per accedere al contenitore ‘web‘. Quando tutto va bene, dovresti vedere il codice sorgente della pagina index.html personalizzata che hai creato.

curl http://192.168.5.43:8080/

nginx container with custom index

Di seguito è riportata la pagina dell’index.html personalizzato quando viene accesso dal browser web (ad es.: http://192.168.5.43:8080/).

Accesso al Contenitore dalla Macchina Host

Per accedere e accedere al contenitore, puoi utilizzare il comando ‘docker exec‘, che ti consente di eseguire il comando disponibile sul contenitore.

Esegui il seguente comando per accedere al contenitore ‘web‘. Questo eseguirà il comando ‘/bin/sh‘ sul contenitore ‘web‘ e il parametro ‘-it‘ ti porterà direttamente nel contenitore.

docker exec -it web /bin/sh

Una volta effettuato l’accesso al contenitore, esegui il seguente comando per controllare il nome host dettagliato del tuo contenitore. Il nome host del contenitore dovrebbe essere lo stesso del ‘CONTAINER ID‘.

id  
hostname

log in to container

Successivamente, esegui il seguente comando per controllare l’indirizzo IP e il gateway predefinito del contenitore.

ip a  
route -n

Dovresti aspettarti un output simile al seguente:

show container ip

Poiché il contenitore ‘web‘ sta eseguendo il processo Nginx, puoi accedere al tuo contenitore tramite l’indirizzo IP locale tramite il comando curl qui sotto. In questo esempio, l’indirizzo IP del contenitore è ‘172.17.0.2‘. Dovresti ottenere la stessa pagina index.html.

curl 172.17.0.2

accessing nginx via local ip container

Conclusione

Ora che hai completato questa guida, dovresti sapere come installare Docker su Alma Linux 9. Hai anche completato lo scenario per l’uso di base di Docker per gestire immagini e contenitori, registrazione dei contenitori per scopi di debug, lavorare con i volumi Docker e l’uso di base di ‘docker exec‘ per accedere al contenitore.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.