Ricerca nel sito web

Come installare e utilizzare Docker su Ubuntu 20.04


Docker è una piattaforma open source molto popolare per sviluppatori e amministratori di sistema per creare, eseguire e condividere applicazioni con contenitori. La containerizzazione (l'uso di contenitori per distribuire applicazioni) sta diventando popolare perché i contenitori sono flessibili, leggeri, portatili, liberamente accoppiati, scalabili e più sicuri.

Questo articolo è un buon punto di partenza per i principianti per imparare come installare e utilizzare Docker su un sistema Linux Ubuntu 20.04 con alcuni comandi di base. Per questa guida installeremo Docker Community Edition (CE).

Prerequisiti:

  • Un'installazione del server Ubuntu 20.04.
  • Un utente con privilegi per eseguire il comando sudo.

Installazione di Docker su Ubuntu 20.04

Per utilizzare la versione più recente di Docker, la installeremo dal repository Docker ufficiale. Quindi, inizia aggiungendo la chiave GPG per il repository Docker ufficiale al tuo sistema, dopodiché aggiungi la configurazione del repository al sorgente APT con il comando seguenti comandi.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Ora aggiorna la cache dei pacchetti APT per includere i nuovi pacchetti Docker nel sistema utilizzando il seguente comando.

sudo apt update

Successivamente, installa il pacchetto Docker come mostrato.

sudo apt install docker-ce

Durante il processo di installazione del pacchetto Docker, il programma di installazione del pacchetto attiva systemd (gestore di sistema e servizi) per avviare e abilitare automaticamente il servizio docker. Utilizzando i seguenti comandi per confermare che il servizio docker è attivo e abilitato per l'avvio automatico all'avvio del sistema. Inoltre, controlla il suo stato:

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Esistono molti altri comandi systemctl per gestire e controllare il servizio docker che includono quanto segue:

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

Per verificare la versione di Docker CE installata sul tuo sistema, esegui il seguente comando:

docker version

Puoi visualizzare i comandi di utilizzo docker disponibili eseguendo il comando docker senza opzioni o argomenti:

 
docker

Gestisci Docker come utente non root con il comando sudo

Per impostazione predefinita, il demone Docker si collega a un socket UNIX (invece che a una porta TCP) di proprietà dell'utente root. Pertanto il demone Docker viene sempre eseguito come utente root e per eseguire il comando docker è necessario utilizzare sudo.

Inoltre, durante l'installazione del pacchetto Docker, viene creato un gruppo chiamato docker. Quando il demone Docker viene avviato, crea un socket UNIX accessibile ai membri del gruppo docker (che garantisce privilegi equivalenti all'utente root).

Per eseguire il comando docker senza sudo, aggiungi tutti gli utenti non root che dovrebbero accedere a docker, nel gruppo docker come segue. In questo esempio, il comando aggiunge l'utente attualmente connesso ($USER) o il nome utente al gruppo docker:

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

Per attivare le modifiche ai gruppi, eseguire il comando seguente:

newgrp docker 
groups

Successivamente, verifica di poter eseguire i comandi docker senza sudo. Il comando seguente scarica un'immagine di prova e la esegue in un contenitore. Una volta che il contenitore è in esecuzione, stampa un messaggio informativo ed esce. Questo è anche un altro modo per verificare se l'installazione funziona correttamente.

docker run hello-world

Lavorare con le immagini Docker

Un'immagine Docker è un file modello di sola lettura con istruzioni per la creazione di un contenitore Docker. Puoi creare le tue immagini personalizzate oppure utilizzare solo quelle create da altri e pubblicate nel Docker Hub, la più grande libreria e community al mondo per immagini di contenitori.

Puoi cercare un'immagine centos nel Docker Hub con il seguente comando:

docker search centos 

Per scaricare un'immagine localmente, utilizza il comando pull. Questo esempio mostra come scaricare l'immagine centos ufficiale.

docker pull centos

Una volta completato il download, puoi elencare le immagini disponibili sul tuo sistema locale.

docker images

Se non hai più bisogno di un'immagine, puoi rimuoverla dal tuo sistema.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Esecuzione e gestione dei contenitori Docker

Un contenitore Docker è un processo che viene eseguito in modo nativo su Linux e condivide il kernel della macchina host con altri contenitori. Per quanto riguarda un'immagine Docker, un contenitore è solo un'immagine in esecuzione.

Per avviare un contenitore basato sulla nuova immagine centos, esegui il comando seguente dove “centos ” è il nome dell'immagine locale e “cat /etc/centos-release ” è il comando da eseguire nel contenitore:

docker run centos cat /etc/centos-release

Un contenitore esegue un processo distinto che è isolato in quanto dispone di file system, rete e albero di processi isolati separati dall'host. Tieni presente che puoi manipolare un contenitore utilizzando l'ID, il prefisso ID o il nome del contenitore, come mostrato di seguito. Il processo contenitore precedente termina dopo l'esecuzione del comando.

Per elencare i contenitori Docker, utilizza il comando docker ps come segue. Utilizza il flag -l per mostrare l'ultimo contenitore creato in tutti gli stati:

docker ps
OR
docker ps -l

Per mostrare tutti i contenitori compresi quelli che sono usciti, utilizza il flag -a.

docker ps -a

Puoi anche avviare un contenitore utilizzando il relativo ID contenitore dopo la sua chiusura. Ad esempio, nel comando precedente, il nostro ID contenitore è 94c35e616b91. Possiamo avviare il contenitore come mostrato (nota che eseguirà il comando e uscirà):

docker start 94c35e616b91

Per arrestare un contenitore in esecuzione utilizzando il suo ID, utilizza il comando stop come mostrato.

docker stop 94c35e616b91

Docker ti consente anche di assegnare un nome a un contenitore utilizzando l'opzione --name durante l'esecuzione.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Ora puoi utilizzare il nome del contenitore per gestire (avviare, arrestare, statistiche, rimuovere, ecc.) il contenitore:

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Esecuzione di una sessione interattiva in un contenitore Docker

Per avviare una sessione di shell interattiva in un contenitore per consentire l'esecuzione di comandi all'interno del contenitore, eseguire il comando seguente:

docker run --name my_test -it centos

Nel comando precedente, gli switch -it dicono a Docker di allocare uno pseudo-TTY connesso allo stdin del contenitore creando così una shell bash interattiva nel contenitore.

È possibile uscire emettendo il comando exit come mostrato.

exit

Se preferisci non uscire, puoi staccarlo da un contenitore e lasciarlo in funzione. Per farlo, usa la sequenza di tasti CTRL+p quindi CTRL+q.

Puoi riconnetterti al contenitore utilizzando il comando attach che allegherà flussi di input, output ed errori standard locali al contenitore in esecuzione:

docker attach my_test

Inoltre, puoi avviare un contenitore in modalità distaccata utilizzando il flag -d. Quindi utilizza il comando attach per allegare i flussi di input, output ed errori standard del tuo terminale al contenitore in esecuzione:

docker run --name my_test -d -it centos
docker attach my_test

Ultimo ma non meno importante, puoi interrompere un contenitore in esecuzione dalla sessione host eseguendo il seguente comando:

docker kill my_test

È tutto! In questa guida abbiamo spiegato come installare e utilizzare Docker CE in Ubuntu 20.04 Linux. Se hai domande, utilizza il modulo di feedback qui sotto per farcele.