Installazione di Docker su Raspberry Pi
In questo articolo andrò a descrivere passo passo come installare Docker sul nostro Raspberry Pi. Personalmente consiglio di utilizzare la versione lite di Raspbian in modo tale da avere a disposizione più risorse (come RAM e CPU)
Il primo passaggio dopo aver abilitato il protocollo SSH ed eseguite le solite operazioni di configurazione tramite raspi-config
, andiamo a lanciare i comandi di update e upgrade:
sudo apt-get update && sudo apt-get upgrade -y
Ora procediamo con il download e l’installazione di Docker con i seguenti comandi:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
L’operazione di installazione impiegherà qualche minuto prima di arrivare al termine, dopo di che eseguiamo il seguente comando per verificare la versione attualmente installata:
sudo docker version
Per impostazione predefinita, solo un utente con privilegi di amministratore può eseguire comandi Docker.
Per eseguire i comandi Docker come utente non root (senza anteporre sudo
) è necessario aggiungere l’utente al gruppo docker creato durante l’installazione. Per farlo per tipo:
sudo usermod -aG docker $USER
$USER
è una variabile di ambiente che contiene il tuo nome utente.
Per cui se stiamo usando l’utente pi il comando sarà:
sudo usermod -aG docker pi
Arrivati a questo punto consiglio di riavviare il nostro Raspberry Pi con il classico comando:
sudo reboot now
Ora ricolleghiamoci in SSH e per verificare che sia possibile eseguire i comandi docker senza sudo
, eseguire il comando seguente che scaricherà un’immagine di prova, eseguendola in un contenitore, stampare un messaggio “Hello from Docker” ed uscire:
docker run hello-world
Ora che Docker è configurato sul nostro Raspberry Pi, esaminiamo i concetti e i comandi di base di Docker.
Un immagine Docker è costituita da una serie di strati di filesystem che rappresentano istruzioni nell’immagine Dockerfile che compongono un’applicazione software eseguibile. Un’immagine è un file binario immutabile che include l’applicazione e tutte le altre dipendenze come librerie, binari e istruzioni necessarie per eseguire l’applicazione.
La maggior parte delle immagini Docker sono disponibili su Docker Hub. Si tratta di un servizio di registro basato su cloud che, tra le altre funzionalità, viene utilizzato per conservare le immagini Docker in un repository pubblico o privato.
Per cercare un’immagine dal registro dell’hub Docker, utilizzare il comando docker search
. Ad esempio, per cercare un’immagine Debian, digitare:
docker search debian
Un’istanza di un’immagine è chiamata contenitore. Un contenitore rappresenta un runtime per una singola applicazione, processo o servizio.
Potrebbe non essere il confronto più appropriato, ma se sei un programmatore puoi pensare a un’immagine Docker come classe e contenitore Docker come istanza di una classe.
Per avviare, arrestare, rimuovere e gestire un contenitore, utilizzare il comando docker container
. Ad esempio, il comando seguente avvierà un contenitore Docker basato sull’immagine Debian. Se l’immagine non è presente localmente, verrà prima scaricata:
docker run debian
Il contenitore Debian si arresterà immediatamente dopo l’avvio perché non ha un processo di lunga durata e non viene fornito nessun altro comando. Il contenitore si è avviato, ha eseguito un comando vuoto e quindi è uscito.
L’opzione -it
consente di interagire con il contenitore tramite la riga di comando. Per avviare un tipo di contenitore interattivo:
docker run -it debian /bin/bash
Output:root@ee67tfc65c8c:/#
Come possiamo notare dall’output sopra riportato, una volta avviato il contenitore, il prompt dei comandi viene modificato, il che significa che ora si sta lavorando dall’interno del contenitore.
Per elencare i contenitori Docker in esecuzione, utilizzare il comando seguente:
docker container ls
Se non si dispone di contenitori in esecuzione, l’output sarà vuoto.
Per visualizzare tutti i contenitori, utilizzare l’opzione -a
:
docker container ls -a
Per eliminare uno o più contenitori è sufficiente copiare l’ID contenitore (o gli ID) e incollarli dopo il comando container rm
:
docker container rm c66980v5665r
Facoltativamente possono essere installati i seguenti pacchetti per abilitare l’installazione dei container tramite Docker-compose
sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev -y
sudo apt-get install -y python3 python3-pip
sudo pip3 install docker-compose
[…] di avere Docker e Docker-compose installati, se non fosse cosi, qui puoi trovare una guida che ho scritto su come […]
[…] I prerequisiti fondamentali per seguire fino in fondo questa guida sono ovviamente avere a disposizione un Rasperry Pi (Zero W, 1, 2, 3, o 4) con sistema operativo Raspbian (preferibilmente la versione Lite) e con installata la pittaforma Docker (guida all’installazione a questo link). […]
[…] tale da dedicare tutte le risorse ai servizi necessari) e con installato Docker e Docker-compose (qui la guida per […]
[…] Raspberry Pi.Per quanto riguarda l’installazione del pacchetto docker consiglio di seguire questa guida.Altro requisito è di tipo networking, per poter accedere da remoto alla nostra libreria […]
[…] container dobbiamo aver a disposizione di un Raspberry Pi con docker e docker-compose installati (qui una guida su come installare Docker su Raspberry […]
[…] e docker-compose installato (qui una guida su come installarlo su […]