Skip to main content

Capitolo 3 – Installazione e Configurazione Base di Docker

In questo capitolo vediamo come installare Docker Engine su Debian/Ubuntu usando lo script ufficiale, e come configurarlo in modalità rootless.
Per altre distribuzioni Linux, consultare la documentazione ufficiale: Docker Engine Install.


3.1 Prerequisiti

  • Sistema operativo Debian o Ubuntu
  • Utente con privilegi sudo (non necessario per modalità rootless, ma utile per installazione standard)
  • Connessione Internet

3.2 Installazione automatica con lo script ufficiale

Docker fornisce uno script ufficiale che configura automaticamente repository, chiavi GPG e installa i pacchetti necessari.

Esegui i seguenti comandi:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
  • Lo script installerà Docker Engine, CLI, containerd e plugin di Docker Compose.
  • Il processo include anche l’attivazione del servizio Docker.

3.3 Avvio e verifica del servizio

Dopo l’installazione:

sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker

Verifica che Docker funzioni correttamente eseguendo un container di test:

docker run hello-world

Se l’immagine viene scaricata e viene stampato un messaggio di conferma, Docker è correttamente installato.


3.4 Uso di Docker senza sudo

Per consentire a un utente di usare Docker senza sudo (modalità standard):

sudo usermod -aG docker $USER

Effettua il logout/login o esegui:

newgrp docker

Verifica:

docker info

3.5 Modalità Rootless (Docker senza privilegi root)

Docker può essere eseguito in modalità rootless, evitando completamente l’uso di privilegi root.
Questa modalità aumenta la sicurezza riducendo l’esposizione del daemon.

Installazione rootless

sudo apt update
sudo apt install -y uidmap dbus-user-session
dockerd-rootless-setuptool.sh install
  • L’installazione crea un daemon Docker gestito dall’utente corrente.
  • Docker rootless esegue container con UID dell’utente, isolati dal sistema.

Avvio e utilizzo

systemctl --user start docker
systemctl --user enable docker

Verifica:

docker info

Per dettagli avanzati, limiti e configurazioni aggiuntive, consultare la documentazione ufficiale:
Rootless Docker


3.6 Altre distribuzioni Linux

Se si utilizza un sistema diverso da Debian/Ubuntu (RHEL, CentOS, Fedora, SLES, Raspberry Pi OS, ecc.), seguire la guida ufficiale:

Install Docker Engine – Docker Docs


3.7 Buone pratiche post-installazione

  • Tenere Docker aggiornato con il gestore pacchetti o lo script ufficiale
  • Limitare l’accesso al gruppo docker a utenti trusted
  • Verificare lo stato del daemon con systemctl status docker
  • Testare sempre con docker run hello-world dopo aggiornamenti
  • Considerare la modalità rootless per ambienti multi-utente o produzione più sicura

Conclusione

Docker Engine è ora pronto all’uso, sia in modalità standard che rootless.
Nel prossimo capitolo vedremo come gestire immagini Docker, costruirle e personalizzarle con Dockerfile.