Docker è una piattaforma di containerizzazione che ti 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 Debian 10 Buster ed esploreremo i concetti e i comandi di base di Docker.
Installa Docker su Debian #
Esegui i seguenti passaggi per installare l'ultima versione stabile di Docker dai repository di 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 utilizzando il seguente
curl
comando:curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
In caso di successo, il comando restituirà
OK
. -
Aggiungi il repository Docker APT stabile all'elenco dei repository 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
apt
elenco dei pacchetti e installare l'ultima versione di Docker CE (Community Edition):sudo apt update
sudo apt install docker-ce
-
Una volta completata l'installazione, il servizio Docker si avvierà 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-07-30 20:52:00 GMT; 1min 11s ago Docs: https://docs.docker.com ...
-
Al momento della scrittura, 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 il root e l'utente con privilegi sudo possono eseguire i comandi Docker.
Se vuoi eseguire i comandi Docker senza anteporre sudo
dovrai aggiungere il tuo utente al gruppo Docker che viene 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.
Esci e accedi nuovamente in modo che l'appartenenza al gruppo venga aggiornata.
Una volta terminato, verifica che puoi eseguire docker
comandi senza sudo
digita:
docker container run hello-world
Il comando scaricherà un'immagine di prova, la eseguirà in un contenitore, stamperà un messaggio "Hello from Docker" ed esce. L'output dovrebbe essere simile al seguente:
Utilizzo della finestra mobile #
Ora che hai installato Debian 10, esaminiamo i concetti e i comandi di base della finestra mobile.
Immagini Docker #
Un'immagine Docker è costituita da una serie di livelli di filesystem che rappresentano le istruzioni nel file Docker dell'immagine che costituiscono un'applicazione software eseguibile. Un'immagine è un file binario immutabile che include l'applicazione e tutte le altre dipendenze come librerie, file binari e istruzioni necessarie per eseguire l'applicazione.
La maggior parte delle immagini Docker sono disponibili su Docker Hub. È un servizio di registro basato su cloud che, tra le altre funzionalità, viene utilizzato per mantenere le immagini Docker in un repository pubblico o privato.
Per cercare un'immagine dal registro Docker Hub, utilizza la docker search
comando. 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 a una classe ea un contenitore Docker come a un'istanza di una classe.
Per avviare, interrompere, rimuovere e gestire un container, utilizza il docker container
comando. Ad esempio, il comando seguente avvierà un contenitore Docker basato sull'immagine Debian. Se non hai l'immagine in locale, verrà prima scaricata:
docker container run debian
Il contenitore Debian si fermerà 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 poi è uscito.
L'interruttore -it
permette di interagire con il container attraverso la riga di comando. Per avviare un tipo di contenitore interattivo:
docker container run -it debian /bin/bash
root@ee86c8c81b3b:/#
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, utilizza il comando seguente:
docker container ls
Se non hai contenitori in esecuzione, l'output sarà vuoto.
Per visualizzare tutti i contenitori, passagli il -a
interruttore:
docker container ls -a
Per eliminare uno o più contenitori basta copiare l'ID (o gli ID) del contenitore e incollarli dopo il container rm
comando:
docker container rm c55680af670c