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
[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 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 .