Introduzione
Docker è una piattaforma di containerizzazione che consente di creare, testare e distribuire rapidamente applicazioni come container portatili e autosufficienti che possono essere praticamente eseguiti ovunque.
In questo tutorial, spiegheremo come installare Docker su Debian 10 Buster ed esploreremo i concetti e i comandi di base di Docker.
Installa Docker su Debian
Procedere come segue per installare l'ultima versione stabile di Docker dai repository Docker.
Installa i pacchetti necessari per aggiungere un nuovo repository su HTTPS:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
Importa la chiave GPG del repository usando il seguente comando curl :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
In caso di successo, il comando tornerà OK.
Aggiungi il repository APT Docker stabile all'elenco dei repository di software del tuo sistema:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$(lsb_release -cs) restituirà il nome della distribuzione Debian . In questo caso buster.
Aggiorna l'elenco apt dei pacchetti e installa l'ultima versione di Docker CE (Community Edition):
sudo apt update
sudo apt install docker-ce
Una volta completata l'installazione, il servizio Docker verrà avviato automaticamente. Per verificarlo digita:
sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-09-07 11:32:00 GMT; 1min 15s ago
Docs: https://docs.docker.com
...
Al momento in cui scrivo, l'ultima versione stabile di Docker è 19.03.1:
docker -v
Docker version 19.03.1, build 74b1e89
Esecuzione del comando Docker senza Sudo
Per impostazione predefinita, solo i root e gli utenti con privilegi sudo possono eseguire i comandi Docker.
Se si desidera eseguire i comandi Docker senza anteporre sudo è necessario aggiungere l'utente al gruppo docker creato durante l'installazione del pacchetto Docker CE. Per farlo, digita:
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.
Una volta fatto per verificare che è possibile eseguire comandi docker senza digitare sudo:
docker container run hello-world
Il comando scaricherà un'immagine di prova, la eseguirà in un contenitore, stamperà un messaggio "Hello from Docker" e uscirà.
Utilizzando Docker
Ora che hai installato Docker su Debian 10, esaminiamo i concetti e i comandi di base.
Immagini Docker
Un'immagine Docker è costituita da una serie di strati di filesystem che rappresentano istruzioni nella dell'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.
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
root@ff96b9b92c5d:/#
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 attivi, utilizzare il comando seguente:
docker container ls
Se non si dispone di contenitori in esecuzione, l'output sarà vuoto.
Per visualizzare sia i contenitori attivi che quelli inattivi, utilizzare il flag -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 c55680af670c
Conclusione
L'installazione di Docker su Debian 10 è un'operazione relativamente semplice. Docker è di fatto uno standard per la tecnologia dei container ed è uno strumento essenziale per gli ingegneri DevOps e la loro pipeline di integrazione e consegna continua.
Per ulteriori informazioni, consultare la documentazione ufficiale di Docker .