Come installare Docker su Ubuntu e avviare un container Ubuntu (Guida passo passo)

目次

1. Cos’è Docker e la sua relazione con Ubuntu

Docker è una tecnologia di virtualizzazione che confeziona gli ambienti di runtime delle applicazioni in unità chiamate “container”, consentendo loro di funzionare in modo coerente su diversi server e computer. A differenza delle macchine virtuali tradizionali, Docker esegue i container direttamente sul sistema operativo host, rendendoli significativamente più leggeri e veloci.

I sistemi operativi basati su Linux, come Ubuntu, sono particolarmente adatti a Docker, motivo per cui Docker è ampiamente utilizzato sia da imprese che da sviluppatori individuali e amministratori di server. Questo perché Ubuntu stesso è open source, ampiamente adottato negli ambienti server, facile da gestire con i sistemi di pacchetti e supportato da una documentazione ufficiale estesa.

Utilizzando Docker, è possibile eliminare problemi comuni come “funziona sul mio computer ma non sul server”. Che si tratti di un PC di sviluppo o di un server di produzione, i container Docker consentono di riprodurre esattamente lo stesso ambiente ovunque. Ubuntu è anche supportato ufficialmente da Docker, quindi le guide di installazione e le risorse di risoluzione dei problemi sono abbondanti.

In questo articolo spiegheremo chiaramente come installare Docker su Ubuntu e avviare un container Ubuntu. Che tu sia nuovo a Docker o abbia già esperienza, questa guida ti aiuterà a consolidare le tue conoscenze di base.

2. Ambiente richiesto e prerequisiti

Prima di utilizzare Docker su Ubuntu, sono necessari diversi prerequisiti e controlli. Questa sezione riassume l’ambiente richiesto e i punti importanti da confermare in anticipo per garantire un’installazione fluida.

Versione di Ubuntu

Docker è consigliato per Ubuntu 18.04 LTS o versioni successive. Le versioni a lungo termine (LTS) come Ubuntu 20.04 LTS, Ubuntu 22.04 LTS e Ubuntu 24.04 LTS sono particolarmente ben supportate. Le versioni più vecchie potrebbero incontrare problemi di dipendenze o di pacchetti, quindi è fortemente consigliato utilizzare l’ultima versione LTS.

Requisiti di sistema

Sebbene Docker sia leggero, l’esecuzione di più container o il suo utilizzo per sviluppo e test richiede risorse di sistema sufficienti. Si raccomandano le seguenti specifiche minime:

  • Ubuntu a 64 bit (non è supportato il 32 bit)
  • CPU: 2 core o più consigliati
  • Memoria: almeno 2 GB (consigliati 4 GB o più)
  • Spazio libero su disco: almeno 10 GB

Connessione a Internet

È necessaria una connessione a Internet per installare Docker e scaricare le immagini. La configurazione iniziale può comportare il download di grandi quantità di dati, quindi è consigliata una connessione stabile.

Privilegi utente

L’installazione di Docker e la gestione delle impostazioni di sistema richiedono privilegi sudo (amministratore). Se disponi solo di permessi utente standard, richiedi un accesso temporaneo o l’assistenza di un amministratore.

Rimozione di vecchi pacchetti Docker

Se in passato hai installato manualmente pacchetti come docker o docker.io, è consigliato disinstallarli per evitare conflitti.

sudo apt-get remove docker docker-engine docker.io containerd runc

Questo previene potenziali problemi causati da pacchetti legacy in conflitto.

Riepilogo

Dopo aver confermato i prerequisiti in questa sezione, procedi con i passaggi di installazione e configurazione nei capitoli successivi.
Con una preparazione adeguata, l’installazione di Docker su Ubuntu è un processo molto fluido.

3. Installazione e configurazione di Docker Engine

Questa sezione spiega come installare Docker Engine su Ubuntu e effettuare la configurazione di base. L’utilizzo del repository ufficiale di Docker garantisce di ottenere l’ultima versione stabile.

Aggiunta del repository ufficiale e preparazione

Per prima cosa, aggiungi il repository ufficiale di Docker ad apt. Tutti i passaggi vengono eseguiti nel terminale.

  1. Installa i pacchetti richiesti
    sudo apt-get update
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
  1. Aggiungi la chiave GPG
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  1. Aggiungi il repository Docker
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

Installazione di Docker Engine

Dopo aver aggiunto il repository, installa Docker Engine.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Una volta completata l’installazione, verificala controllando la versione:

docker --version

Se vedi un output simile a Docker version 25.0.3, l’installazione è avvenuta con successo.

Informazioni su Docker Desktop (Opzionale)

Su Ubuntu, Docker Engine è solitamente sufficiente. Docker Desktop per Linux è disponibile se hai bisogno di un’interfaccia grafica, ma per i flussi di lavoro basati su CLI, Docker Engine da solo è più che adeguato.

Risoluzione dei Problemi di Installazione

Se incontri errori come “pacchetto non trovato”, ricontrolla la configurazione del repository e l’impostazione della chiave GPG. Conflitti con vecchi pacchetti Docker possono anche causare problemi, quindi rivedi i passaggi di disinstallazione se necessario.

4. Usare Docker senza sudo

Per impostazione predefinita, i comandi Docker richiedono privilegi sudo. Richiedere sudo per ogni comando è scomodo e può essere rischioso se i comandi vengono digitati in modo errato.
Il metodo consigliato è aggiungere il tuo account utente al gruppo docker, consentendoti di usare Docker in modo sicuro senza sudo.

Aggiungere un Utente al Gruppo docker

  1. Aggiungi l’utente corrente al gruppo docker
    sudo usermod -aG docker $USER
    
  1. Applica le modifiche

Disconnettiti e riconnettiti per applicare la nuova appartenenza al gruppo.
In alternativa, puoi applicarla immediatamente usando:

newgrp docker
  1. Verifica
    docker version
    

Note di Sicurezza

Gli utenti nel gruppo docker hanno privilegi elevati. In ambienti multi‑utente, gestisci con attenzione l’appartenenza al gruppo docker. Per uso personale o di sviluppo, generalmente non è un problema.

5. Avviare il Demone Docker e Abilitare l’Avvio Automatico

Docker gira come servizio in background chiamato demone Docker (dockerd). Sebbene di solito venga avviato automaticamente dopo l’installazione, è importante capire come gestirlo.

Avviare, Arrestare e Riavviare Docker

sudo systemctl start docker
sudo systemctl stop docker
sudo systemctl restart docker
sudo systemctl status docker

Abilitare o Disabilitare l’Avvio Automatico all’Avvio del Sistema

sudo systemctl enable docker
sudo systemctl disable docker

Controllare i Log

journalctl -u docker

6. Avviare un Container Ubuntu

Questa sezione spiega come avviare effettivamente un container Ubuntu su Docker.

Scaricare l’Immagine Ubuntu

docker pull ubuntu:22.04

Eseguire un Container Ubuntu

docker run -it --name myubuntu ubuntu:22.04 /bin/bash

Eseguire in Background

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Arrestare e Riavviare i Container

docker stop myubuntu
docker start myubuntu

Controllare lo Stato del Container

docker ps
docker ps -a

7. Comandi Docker Essenziali per la Gestione dei Container

Questa sezione riassume i comandi Docker più usati per le operazioni quotidiane.

Elenco dei Container

docker ps
docker ps -a

Avviare, Arrestare, Riavviare

docker start [container]
docker stop [container]
docker restart [container]

Accedere ai Container

docker exec -it [container] /bin/bash

Rimuovere Container e Immagini

docker rm [container]
docker rm -f [container]
docker images
docker rmi [image]

Log e Utilizzo del Disco

docker logs [container]
docker system df

8. Risoluzione dei Problemi e Domande Frequenti

Questa sezione copre i problemi più comuni di Docker e come risolverli.

Impossibile Connettersi al Demone Docker

Assicurati che Docker sia in esecuzione e che il tuo utente abbia i permessi corretti.

Conflitti di Pacchetti

sudo apt-get remove docker docker-engine docker.io containerd runc

Errori di Avvio del Contenitore

Verifica i nomi delle immagini, la memoria disponibile e lo spazio su disco.

9. Riepilogo e Prossimi Passi

Questo articolo ha trattato l’installazione di Docker su Ubuntu e l’esecuzione di contenitori Ubuntu, dai concetti di base all’uso pratico.

Prossimi Passi

  • Creare immagini personalizzate con Dockerfile
  • Gestire più contenitori con Docker Compose
  • Utilizzare volumi e reti
  • Esplorare l’orchestrazione dei contenitori con Kubernetes

10. FAQ

Questa sezione risponde alle domande frequenti relative a Docker su Ubuntu.

Docker può essere usato sia su Ubuntu Desktop che su Server?

Sì. Ubuntu Server è spesso preferito per la produzione a causa del minore utilizzo delle risorse.

È necessario Docker Desktop?

No. Docker Engine da solo è sufficiente su Ubuntu.

Cos’è la modalità rootless?

La modalità rootless consente a Docker di funzionare senza privilegi di root, migliorando la sicurezza con alcune limitazioni.

Come posso persistere i dati?

docker run -v /host/path:/container/path ubuntu:22.04

Come avvio automaticamente i contenitori?

docker run --restart=unless-stopped -d ubuntu:22.04