Introduzione a Docker su Linux: Cos'è e Come Iniziare

Pubblicato il 23 Ottobre 2025 • Categoria: Linux

Docker è una tecnologia di containerizzazione open-source che ha rivoluzionato il modo in cui sviluppatori e amministratori di sistema creano, distribuiscono e gestiscono applicazioni. Invece di virtualizzare un intero sistema operativo come una macchina virtuale, Docker virtualizza a livello di sistema operativo, permettendo di eseguire applicazioni in ambienti isolati e leggeri chiamati container. Questo approccio offre numerosi vantaggi, rendendolo uno strumento molto popolare, specialmente su sistemi Linux.

1. Cos'è Docker e cosa sono i Container?

Immagina di voler eseguire un'applicazione web (come un sito PHP con un database MySQL). Tradizionalmente, dovresti installare tutti i componenti necessari (PHP, Apache/Nginx, MySQL, eventuali dipendenze) direttamente sul tuo server. Questo può portare a conflitti tra diverse applicazioni e rendere difficile il deployment in ambienti diversi (sviluppo, testing, produzione).

Docker risolve questi problemi:

In parole povere, un'immagine è come una classe in programmazione, e un container è un oggetto istanziato da quella classe.

2. Vantaggi di Docker

3. Installazione di Docker su Linux

L'installazione di Docker varia leggermente a seconda della distribuzione. Ecco un esempio per Ubuntu/Debian, che sono molto comuni:

  1. Aggiorna l'indice dei pacchetti: sudo apt update
  2. Installa i pacchetti necessari: sudo apt install apt-transport-https ca-certificates curl software-properties-common
  3. Aggiungi la chiave GPG ufficiale di Docker: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg (Assicurati di usare il repository corretto per la tua distribuzione, ad esempio `linux/debian` per Debian).
  4. Aggiungi il repository Docker: echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. Aggiorna nuovamente l'indice: sudo apt update
  6. Installa il pacchetto Docker: sudo apt install docker-ce docker-ce-cli containerd.io
  7. Avvia e abilita Docker all'avvio del sistema: sudo systemctl start docker && sudo systemctl enable docker
  8. Opzionalmente, aggiungi il tuo utente al gruppo docker per evitare di dover usare `sudo` ogni volta: sudo usermod -aG docker $USER (Dopo questo comando, disconnettiti e riconnettiti).

Per altre distribuzioni, consulta la documentazione ufficiale di Docker.

4. Comandi Docker Essenziali

Ecco alcuni comandi fondamentali per iniziare a lavorare con Docker:

💡 Consiglio: Usa `docker ps` e `docker images` spesso per capire lo stato del tuo ambiente Docker. L'ID (identificativo) breve o il nome del container o dell'immagine sono sufficienti per la maggior parte dei comandi.

5. Un Esempio Pratico: Eseguire un Server Web con Docker

Vediamo come avviare rapidamente un server web Apache con PHP usando un'immagine ufficiale:

  1. Avvia un container con l'immagine `php:apache` (disponibile su Docker Hub): docker run --name mio-webserver -p 8080:80 -d php:apache
    • --name mio-webserver: Assegna un nome al container.
    • -p 8080:80: Mappa la porta 8080 del tuo host alla porta 80 del container.
    • -d: Esegue il container in background (detached mode).
  2. Apri il tuo browser e vai su http://localhost:8080 o http://127.0.0.1:8080. Vedrai la pagina di default di Apache con PHP.
  3. Quando hai finito, puoi fermare il container: docker stop mio-webserver
  4. Successivamente, puoi rimuoverlo: docker rm mio-webserver

Questo è un esempio molto basilare. Docker permette di creare ambienti molto più complessi, ad esempio con un database collegato, usando Docker Compose.

⚠️ Attenzione: I container sono temporanei per natura. I dati modificati all'interno di un container vengono persi quando il container viene rimosso, a meno che non vengano usati volumi per persistere i dati. Inoltre, assicurati di scaricare immagini solo da fonti affidabili come Docker Hub.

6. Conclusione

Docker è uno strumento potente e versatile che semplifica lo sviluppo, il testing e il deployment di applicazioni. Offre un modo efficiente e portabile per eseguire software in ambienti isolati. Se stai lavorando su un progetto web su Linux, come il tuo sito, Docker può aiutarti a creare ambienti di sviluppo consistenti e a semplificare la distribuzione. Questa guida introduttiva ti ha fornito le basi; la documentazione ufficiale e la vasta comunità sono ottime risorse per approfondire.

Prodotti Consigliati

Potrebbe interessarti anche...

Prodotti utili per ottimizzare e mantenere al meglio il tuo sistema.