Introduzione

Docker è una piattaforma di containerizzazione che consente di creare, testare e distribuire rapidamente applicazioni come container portatili e autosufficienti che possono essere eseguiti praticamente ovunque.

In questo tutorial, spiegheremo come installare Docker su Raspberry Pi ed esploreremo i concetti e i comandi di base di Docker.

Prerequisiti

Partiamo dal presupposto che Raspbian sia installato sul tuo Raspberry Pi. Docker non ha bisogno di un'interfaccia grafica ed è meglio usare l'immagine di Raspbian Stretch Lite e abilitare SSH. In questo modo il tuo Raspberry Pi avrà molta più potenza di elaborazione e memoria disponibili per eseguire i contenitori Docker.

Installare Docker su Raspberry Pi

L'installazione di Docker su Raspberry Pi è solo una questione di esecuzione di alcuni comandi.

Innanzitutto, scarica lo script di installazione Docker usando il seguente comando curl:

curl -fsSL https://get.docker.com -o get-docker.sh

Una volta completato il download, esegui lo script digitando:

sh get-docker.sh

Lo script rileverà la distribuzione Linux, installerà i pacchetti richiesti e avvierà Docker.

Il processo potrebbe richiedere alcuni minuti e al termine lo script genererà informazioni sulla versione di Docker e su come utilizzare Docker come utente non root.

Questo è tutto. Docker è stato installato sulla tua scheda Pi.

Esecuzione del comando Docker senza Sudo

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.

Disconnettersi e riconnettersi in modo da aggiornare l'appartenenza al gruppo.

Per verificare che sia possibile eseguire i comandi docker senza sudo eseguire il comando seguente che scaricherà un'immagine di prova, eseguirlo in un contenitore, stampare un messaggio "Hello from Docker" ed uscire:

docker container run hello-world

Come usare Docker

Ora che Docker è configurato sul tuo Raspberry Pi, esaminiamo i concetti e i comandi di base della 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

Contenitori Docker

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 container 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 container run -it debian /bin/bash
[email protected]:/#

Come puoi vedere dall'output sopra una volta avviato il contenitore, il prompt dei comandi viene modificato, il che significa che ora stai 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

Conclusione

Hai imparato come installare Docker sul tuo computer Raspberry Pi e come eseguire i contenitori Docker. Per ulteriori informazioni su questo argomento, consultare la documentazione ufficiale di Docker.