🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Guida Completa all'Installazione di Docker su Diverse Piattaforme

Codegrind Team•Aug 28 2024

Docker è una piattaforma open source che automatizza la distribuzione di applicazioni all’interno di container software. Questo strumento è essenziale per sviluppatori e amministratori di sistema che desiderano creare, testare e distribuire applicazioni in ambienti isolati e coerenti. In questa guida, ti mostrerò come installare Docker su diverse piattaforme, inclusi Ubuntu, macOS e Windows, con configurazioni di base e suggerimenti per iniziare.

1. Installazione di Docker su Ubuntu

1.1. Aggiornare il Sistema

Prima di installare Docker, è una buona pratica aggiornare l’indice dei pacchetti:

sudo apt-get update
sudo apt-get upgrade

1.2. Installare i Prerequisiti

Installa i pacchetti necessari per l’installazione di Docker:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

1.3. Aggiungere il Repository Docker

Aggiungi la chiave GPG ufficiale di Docker e il repository Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

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

1.4. Installare Docker

Aggiorna l’indice dei pacchetti e installa Docker:

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

1.5. Verificare l’Installazione

Verifica che Docker sia stato installato correttamente:

sudo docker --version

Questo comando dovrebbe restituire la versione di Docker installata.

1.6. Eseguire Docker senza sudo

Per eseguire Docker senza utilizzare sudo, aggiungi il tuo utente al gruppo docker:

sudo usermod -aG docker ${USER}

Dopo aver eseguito questo comando, esci e rientra nella sessione del terminale.

2. Installazione di Docker su macOS

2.1. Scaricare Docker Desktop

Docker Desktop è l’applicazione ufficiale per macOS che include Docker Engine, Docker CLI, Docker Compose e altri strumenti.

  1. Vai al sito ufficiale di Docker Desktop per macOS.
  2. Scarica il file .dmg.
  3. Apri il file .dmg e trascina Docker nella cartella Applicazioni.

2.2. Avviare Docker Desktop

Dopo aver installato Docker Desktop:

  1. Vai alla cartella Applicazioni e avvia Docker.
  2. Docker inizierà a girare in background, e vedrai l’icona Docker apparire nella barra dei menu.

2.3. Verificare l’Installazione

Apri il terminale e verifica l’installazione:

docker --version

3. Installazione di Docker su Windows

3.1. Scaricare Docker Desktop

Docker Desktop per Windows include Docker Engine, Docker CLI, Docker Compose e altri strumenti essenziali.

  1. Vai al sito ufficiale di Docker Desktop per Windows.
  2. Scarica il file .exe di Docker Desktop.
  3. Esegui il file .exe e segui le istruzioni dell’installer.

3.2. Avviare Docker Desktop

Dopo l’installazione:

  1. Avvia Docker Desktop dal menu Start.
  2. Docker Desktop richiederĂ  di abilitare WSL 2 (Windows Subsystem for Linux) o Hyper-V, se non giĂ  abilitati. Segui le istruzioni per abilitare la tecnologia di virtualizzazione preferita.

3.3. Verificare l’Installazione

Apri PowerShell e verifica l’installazione di Docker:

docker --version

4. Configurazioni di Base dopo l’Installazione

4.1. Testare l’Installazione con hello-world

Per assicurarti che Docker funzioni correttamente, esegui un container di prova:

docker run hello-world

Questo comando scaricherà ed eseguirà un’immagine di prova che stampa un messaggio di successo se Docker è installato correttamente.

4.2. Configurare il Riavvio Automatico dei Container

Puoi configurare Docker per riavviare automaticamente i container in caso di errore o al riavvio del sistema:

docker run -d --restart unless-stopped myapp
  • -d: Esegue il container in background (detached mode).
  • –restart unless-stopped: Riavvia automaticamente il container se si arresta, a meno che non venga esplicitamente fermato.

4.3. Pulizia dei Container e delle Immagini

Docker tende ad accumulare immagini e container non utilizzati. Utilizza questi comandi per mantenere il sistema pulito:

docker system prune

Questo comando rimuove i container, le immagini e le reti non utilizzate. Aggiungi l’opzione -a per rimuovere tutte le immagini non associate a un container attivo.

5. Best Practices per Docker

5.1. Mantenere Docker Aggiornato

Docker rilascia aggiornamenti frequenti che includono nuove funzionalitĂ , miglioramenti delle prestazioni e correzioni di sicurezza. Assicurati di mantenere Docker aggiornato:

  • Linux: Utilizza sudo apt-get update && sudo apt-get upgrade.
  • macOS e Windows: Docker Desktop si aggiorna automaticamente o può essere aggiornato manualmente tramite le impostazioni dell’applicazione.

5.2. Utilizzare Docker Compose

Per gestire applicazioni multi-container, come un’applicazione web con un database, utilizza Docker Compose. Definisci i servizi in un file docker-compose.yml e gestiscili con un singolo comando.

5.3. Monitoraggio e Logging

Integra strumenti di monitoraggio e logging come Prometheus, Grafana o ELK Stack per monitorare le performance dei container e raccogliere i log in tempo reale.

5.4. Sicurezza

  • Isola i Container: Utilizza la rete bridge di Docker per isolare i container e limitare l’accesso alle risorse di rete.
  • Gestisci i Permessi: Esegui i container con utenti non privilegiati quando possibile e utilizza Docker Secrets per gestire in modo sicuro le credenziali.

6. Conclusione

L’installazione di Docker è il primo passo per sfruttare le potenzialità della containerizzazione. Sia che tu stia lavorando su un sistema Linux, macOS o Windows, Docker fornisce una piattaforma potente per lo sviluppo, il test e la distribuzione delle applicazioni in ambienti isolati. Seguendo questa guida, hai installato Docker sulla tua piattaforma preferita e configurato le impostazioni di base per iniziare. Docker è uno strumento versatile e scalabile, che può essere utilizzato sia per piccoli progetti personali che per applicazioni di produzione su larga scala.