Docker è un popolare software di containerizzazione. I container sono un'unità standard di software che impacchetta il codice e tutte le sue dipendenze in modo che un'applicazione possa essere eseguita in modo rapido e affidabile su sistemi operativi e ambienti informatici diversi.
In termini tecnici, un contenitore è un processo in esecuzione isolato da altri processi e con accesso alle risorse del computer. Vediamo quindi come installare Docker in Debian 11 ed eseguire la prima applicazione.
Esistono due modi per effettuare l'installazione: utilizzando i repository Debian standard o il repository ufficiale di Docker. I repository Debian non contengono la versione più recente, quindi considereremo l'installazione dal repository ufficiale di Docker.
Prima di aggiungere il repository, è necessario aggiornare l'elenco dei pacchetti eseguendo il comando:
$ sudo apt update
Installare anche i pacchetti aggiuntivi necessari per lavorare con i repository remoti. Per installare questi pacchetti, eseguire il comando
$ sudo apt -y install ca-certificates curl gnupg lsb-release
Successivamente, scaricare e aggiungere la chiave PGP dal repository. Per farlo, eseguire il comando:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Per aggiungere il repository, è necessario eseguire il comando::
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Per installare il pacchetto, è necessario aggiornare gli elenchi dei pacchetti in modo che il nuovo repository appaia nel sistema. Per farlo, è sufficiente eseguire il comando:
$ sudo apt update
Infine, è possibile installare altri pacchetti. L'installazione avviene con il comando
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
La parola ce
nel nome del pacchetto docker-ce
sta per community
, il che significa che verrà installata la versione gratuita (alias community). Ora sapete come installare docker debian.
Dopo l'installazione, il programma sarà spento per impostazione predefinita. Per avviare il programma è necessario eseguire il comando:
$ sudo systemctl start docker
Affinché possa funzionare con il sistema operativo, deve essere aggiunto all'autoloader con il comando:
$ sudo systemctl enable docker
Per impostazione predefinita, solo l'utente root può utilizzare ed eseguire i comandi nel terminale. Se si esegue un comando da un utente normale, il terminale visualizza il seguente errore:
Permesso negato durante il tentativo di connessione al socket del demone Docker in unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Per eseguire il comando come utente normale e senza usare il comando sudo
, è necessario aggiungere l'utente al gruppo docker
. Il gruppo docker
viene creato automaticamente durante l'installazione. Tuttavia, se per qualche motivo non viene creato automaticamente, è necessario crearlo manualmente eseguendo il seguente comando:
$ sudo groupadd docker
Quindi, per aggiungere l'utente corrente al gruppo docker, eseguire:
$ sudo usermod -aG docker $USER
La variabile $USER
significa che l'utente corrente, per conto del quale viene avviata la sessione, sarà aggiunto al gruppo docker
. Questa variabile è presente in tutte le moderne distribuzioni Linux. Vale la pena notare che il gruppo docker concede privilegi equivalenti a quelli dell'utente root.
Dopo aver aggiunto un utente, è necessario effettuare nuovamente il login nel sistema e solo allora è possibile eseguire qualsiasi comando Docker
per il test. A titolo di esempio, è stato eseguito il comando docker ps
, che visualizza l'elenco dei container in esecuzione:
$ docker ps
Come si può vedere nell'immagine qui sopra, è stato eseguito senza errori e a nome di un utente normale.
Per testare completamente Docker, è possibile scaricare un'immagine di prova da hello-world
per verificarla. Per farlo, è necessario eseguire:
$ docker run hello-world
Il comando docker run
scaricherà l'immagine software dal repository online docker hub
, il registro ufficiale di archiviazione delle immagini software di Docker utilizzato per impostazione predefinita, e la eseguirà automaticamente. L'esempio mostra la frase Hello from Docker!
che significa che l'immagine è stata scaricata ed eseguita con successo.