SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI: |
GUIDA MAGGIORMENTE INDICATA PER: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.7 |
Abstract
L’avvento di Docker (e di altri ambienti similari) ha portato una grande ventata di novità negli ultimi anni. Citando Wikipedia, Docker è “un progetto open-source che automatizza il deployment di applicazioni all’interno di contenitori software, fornendo un’astrazione aggiuntiva grazie alla virtualizzazione a livello di sistema operativo di Linux.”
Detta in parole più semplici, Docker crea sul sistema operativo (che sia Raspberry Pi OS di Raspberry Pi come Windows, macOS e altre centinaia di realtà operative) uno strato di virtualizzazione software sul quale “far girare” porzioni di software in modo del tutto isolato e autonomo. Questo porta con sé tutta una serie di vantaggi, a partire dalla sicurezza, dalla rapidità di installazione dei contenuti, la facilità nel effettuare backup, la possibilità di “testare” molti software senza “sporcare” il sistema e molto altro ancora. Su Docker HUB è possibile trovare decine e decine di applicazioni liberamente scaricabili ed eseguibili tramite questo strumento (ovviamente su Raspberry sono utilizzabili solo quelle adatte all’architettura ARM tipica di questo micro-computer).
Installare Docker su Raspberry Pi OS è un gioco da ragazzi, ed è pratica comune per chi voglia installare applicativi distribuiti in modalità container per questo ambiente di virtualizzazione. Due esempi tra tanti? L’HUB per domotica personale Home Assistant in distribuzione Core (vedi guida) o in distribuzione Home Assistant Supervised (vedi guida).
Assunti
Questa guida è dedicata a chi abbia già un Raspberry in uso con sistema operativo Raspberry Pi OS. Per coloro che non abbiano ancora provveduto e si trovino ad avere un Raspberry nuovo, magari acquistato appositamente per realizzare la propria domotica, allora questo passo della guida va smarcato seguendo prima un’altra guida, che spiega passo passo come configurare il sistema operativo Raspberry Pi OS.
La guida da seguire:
- per chi abbia a disposizione una tastiera e un mouse USB, è questa;
- per chi non li abbia, è quest’altra.
Una volta terminata la configurazione di Raspberry Pi OS (inclusa la possibilità di collegarvisi tramite SSH e avendone perfezionato la configurazione) è possibile procedere nella presente guida.
Docker
INSTALLAZIONE AUTOMATICA
Una volta collegati via SSH al proprio Raspberry (avendo cura di utilizzare l’utenza “pi“), eseguire innanzitutto un aggiornamento dell’ambiente tramite i seguenti comandi:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo reboot
Successivamente al riavvio causato dall’ultimo comando, installare tramite procedura automatica l’ambiente di virtualizzazione Docker tramite il comando:
sudo curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
sudo chmod +x /tmp/get-docker.sh
sudo sh /tmp/get-docker.sh
Al termine, saltare alla configurazione successiva. In caso di problemi con l’installazione di Docker, tentare con la procedura manuale qui di seguito illustrata.
INSTALLAZIONE MANUALE
In caso l’installazione automatica non vada a buon fine, è possibile effettuare l’installazione manualmente. Anche in questo caso, una volta collegati via SSH al proprio Raspberry (avendo cura di utilizzare l’utenza “pi“), eseguire innanzitutto un aggiornamento dell’ambiente tramite i seguenti comandi:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo reboot
Successivamente al riavvio causato dall’ultimo comando, eseguire il seguenti comandi:
sudo apt-get install apt-transport-https ca-certificates curl avahi-daemon dbus -y
sudo apt-get install jq apparmor-utils socat software-properties-common -y
Ora è necessario installare “Network manager”, un pacchetto specifico. Per installarlo è necessario essere collegati via SSH tramite connessione cablata e non Wi-Fi oppure tramite terminale lavorando direttamente e fisicamente connessi a Raspberry.
Non lanciare il comando che segue tramite connessione Wi-Fi, ma solo se connessi via cavo Ethernet.
sudo apt-get install network-manager
Infine, riavviamo il Raspberry per rendere effettive le modifiche:
sudo reboot
Una volta riavviato il sistema operativo, ricollegarsi ed eseguire il seguenti comandi (attenzione: copiare per la loro interezza le stringhe che seguono):
sudo curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -
echo "deb [arch=armhf] https://download.docker.com/linux/raspbian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install docker-ce -y
Sudoers
Sudo (a volte considerato l’abbreviazione di Super-user do) è un programma progettato per far sì che gli amministratori di sistema permettano ad alcuni utenti di eseguire certi comandi come root (o altro utente). La filosofia di base è quella di dare meno privilegi possibile, ma permettere ancora di compiere il lavoro. Sudo è anche un modo efficace per registrare chi ha usato un dato comando e quando.
Si consiglia, arrivati a questo punto, di aggiungere docker al gruppo dei sudoers tramite i comandi:
sudo usermod -aG docker $USER
sudo reboot
Dopo l’esecuzione di tali comandi, chiudere la sessione SSH con
exit
e poi ricollegarsi nuovamente.
Docker compose
Come abbiamo spiegato qui, il tool “Docker Compose” può essere utilizzato sia come plug-in sia come applicazione a se stante. Se si è seguita la parte sopra di installazione, allora si ha già a disposizione la modalità plug-in; qualora si necessitasse di installarlo su una vecchia installazione di Docker, è sufficiente il comando:
sudo apt-get install docker-compose-plugin
altrimenti non c’è bisogno di altro, se non di ricordarsi che qualsiasi esecuzione di “Docker Compose” andrà eseguita tramite il comando “docker compose” non “docker-compose” (quindi senza trattino).
Se invece, per qualche motivo, si decide di adottare “Docker Compose” in modalità applicazione a se stante, l’installazione si effettua tramite:
python3 -m pip install docker-compose
sudo reboot
Mentre, se siete in ambito venv, è possibile usare il comando:
sudo python3 -m pip install docker-compose
sudo reboot
In quetsa modalità, ricordarsi che qualsiasi esecuzione di “Docker Compose” andrà eseguita tramite il comando “docker-compose” non “docker compose” (quindi con il trattino).
Verifiche
Successivamente all’avvenuta installazione e per verificare che Docker sia correttamente installato, eseguire il seguente comando:
docker run hello-world
Per confermare la bontà dell’installazione ed esecuzione di Docker, l’output dev’essere simile al seguente:
Unable to find image 'armhf/hello-world:latest' locally
latest: Pulling from armhf/hello-world
a0691bf12e4e: Pull complete
Digest: sha256:9701edc932223a66e49dd6c894a11db8c2cf4eccd1414f1ec105a623bf16b426
Status: Downloaded newer image for armhf/hello-world:latest
Hello from Docker on armhf!
This message shows that your installation appears to be working correctly.
Complimenti!
Docker è ora installato e operativo sul vostro sistema.
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |