GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e utilizzare Docker in Ubuntu 20.04

Docker è un insieme di prodotti platform as a service che utilizzano la virtualizzazione a livello di sistema operativo per fornire software in pacchetti chiamati container. I container sono isolati l'uno dall'altro e raggruppano i propri software, librerie e file di configurazione; possono comunicare tra loro attraverso canali ben definiti.

Post correlati

  • Come installare e configurare la finestra mobile in Fedora 34/35
  • Come installare e configurare la finestra mobile su Debian 11
  • Come installare e configurare la finestra mobile in Centos 8
  • Introduzione a Docker Componi con esempi
  • Docker come agente di compilazione:esegui le build Jenkins su Docker

Prerequisiti

Per seguire, assicurati di avere:

  • Un sistema Ubuntu 20.04
  • Accesso a Internet dal sistema
  • Accesso root o utente con accesso sudo

Indice dei contenuti

  1. Assicurati che i tuoi pacchetti di sistema siano aggiornati
  2. Disinstalla le versioni precedenti, se presenti
  3. Installa il motore Docker utilizzando il repository
  4. Installa il motore Docker da un pacchetto
  5. Installa utilizzando lo script di convenienza
  6. Verifica installazione
  7. Esecuzione del comando Docker senza Sudo
  8. Disinstallazione della finestra mobile quando è più necessaria

1. Assicurati che i tuoi pacchetti di sistema siano aggiornati

Prima di procedere, assicurati che i tuoi pacchetti siano aggiornati

sudo apt update
sudo apt upgrade -y

2. Disinstalla le versioni precedenti, se presenti

I pacchetti che forniscono versioni precedenti di Docker sono docker , docker.io o docker-engine .
Utilizziamo questo comando per assicurarci che questi pacchetti non esistano nel nostro sistema:

sudo apt-get remove -y docker docker-engine docker.io containerd runc

Va bene se apt-get segnala che nessuno di questi pacchetti è installato.

Installazione della finestra mobile

Puoi installare Docker Engine in diversi modi, a seconda delle tue esigenze:

  • Puoi impostare repository docker e installare docker usando apt
  • Puoi scaricare i pacchetti DEB e installarli manualmente
  • Puoi scegliere di utilizzare gli script di convenienza automatizzati per installare Docker

3. Installa il motore Docker utilizzando il repository

Su un nuovo host, i repository Docker non esistono. Per la prima volta su una nuova macchina host, è necessario configurare il repository Docker. Successivamente, puoi installare e aggiornare Docker dal repository.

Installiamo i seguenti pacchetti per consentire ad apt di utilizzare un repository su HTTPS:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Aggiungi la chiave GPG ufficiale di Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Utilizzare il comando seguente per configurare il repository stabile.

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Installa Docker Engine

Aggiorna l'indice del pacchetto apt poiché abbiamo aggiunto un nuovo repository:

sudo apt-get update

Ora installiamo l'ultima versione di Docker Engine e containerd usi

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

Facoltativo:installazione di una versione specifica

Se hai requisiti che richiedono una versione specifica, puoi farlo.

Per installare una versione specifica:
Elenca le versioni disponibili nel tuo repository:

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

Ora puoi installare una versione specifica utilizzando la stringa della versione dalla seconda colonna, ad esempio 5:19.03.9~3-0~ubuntu-focal .

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Esempio:

sudo apt-get install docker-ce=5:19.03.9~3-0 docker-ce-cli=5:19.03.9~3-0 containerd.io

4. Installa il motore Docker da un pacchetto

Se non puoi utilizzare il repository di Docker per installare Docker Engine, puoi scaricare il file .deb per la tua versione e installarlo manualmente. Devi scaricare un nuovo file ogni volta che vuoi aggiornare Docker.

Vai su https://download.docker.com/linux/ubuntu/dists/, scegli la tua versione di Ubuntu, quindi vai a pool/stable/ , scegli amd64 , armhf o arm64 e scarica il file .deb per la versione di Docker Engine che desideri installare.

Installa Docker Engine, modificando il percorso sottostante nel percorso in cui hai scaricato il pacchetto Docker.

 sudo dpkg -i /path/to/package.deb

Il demone Docker si avvia automaticamente.

Verifica che Docker Engine sia installato correttamente eseguendo l'immagine hello-world.

sudo docker run hello-world

Questo comando scarica un'immagine di prova e la esegue in un contenitore. Quando il contenitore viene eseguito, stampa un messaggio informativo ed esce.

5. Installa usando lo script di convenienza

Docker fornisce uno script pratico su get.docker.com per installare Docker negli ambienti di sviluppo in modo rapido e non interattivo.

Questo esempio scarica lo script da get.docker.com e lo esegue per installare l'ultima versione stabile di Docker su Linux:

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

6. Verifica l'installazione

Al momento dell'installazione, Docker verrà eseguito come demone. Per verificare che la finestra mobile sia in esecuzione, utilizziamo la systemctl status docker comando:

$ 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 Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 146750 (dockerd)
      Tasks: 8
     Memory: 30.0M
     CGroup: /system.slice/docker.service
             └─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done."

Il Active: active (running) mostra che la finestra mobile è stata avviata correttamente.

Possiamo eseguire un hello-world immagine per verificare che la finestra mobile funzioni come previsto:

 sudo docker run hello-world

Questo comando scarica un'immagine di prova e la esegue in un contenitore. Quando il contenitore viene eseguito, stampa un messaggio informativo ed esce.

Ho ottenuto questo output, che mostra che funziona bene:

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

7. Esecuzione del comando Docker senza Sudo

Per impostazione predefinita, il comando Docker può essere eseguito solo dall'utente root o da un utente nel gruppo Docker, che viene creato automaticamente durante il processo di installazione di Docker. Se tenti di eseguire il comando docker senza anteporre sudo o senza essere nel gruppo docker, otterrai un output come questo:

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Se vuoi evitare di digitare sudo ogni volta che esegui il comando della finestra mobile, aggiungi il tuo nome utente al gruppo della finestra mobile:

sudo usermod -aG docker ${USER}

Per applicare la nuova appartenenza al gruppo, esci dal server e riconnettiti oppure digita quanto segue:

su - ${USER}

Ti verrà richiesto di inserire la password dell'utente per continuare.

Conferma che il tuo utente è ora aggiunto al gruppo Docker digitando:

id -nG

Vedo questo, a conferma che ora appartengo al gruppo Docker

$ id -nG
ubuntu docker

Ora posso fare docker:
Posso eseguire l'immagine alpine

$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #

Abbiamo installato con successo la finestra mobile nel nostro sistema!

8. Disinstallazione della finestra mobile quando è più necessaria

Per cancellare completamente il Docker Engine dal sistema, dobbiamo disinstallare i pacchetti Docker Engine, CLI e Containerd:

 sudo apt-get purge docker-ce docker-ce-cli containerd.io -y

Immagini, contenitori, volumi o file di configurazione personalizzati sull'host non vengono rimossi automaticamente. Per eliminare tutte le immagini, i contenitori e i volumi:

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

È necessario eliminare manualmente tutti i file di configurazione modificati.

Conclusione

In questa guida siamo riusciti a installare la finestra mobile sul nostro sistema Ubuntu 20.04.


Ubuntu
  1. Come installare e utilizzare Docker su Ubuntu 20.04

  2. Come installare e utilizzare Wine su Ubuntu 20.04

  3. Come installare e utilizzare Docker su Ubuntu 18.04

  4. Come installare e utilizzare Docker Compose su Ubuntu 18.04

  5. Come installare e utilizzare FFmpeg su Ubuntu 18.04

Come installare e utilizzare R su Ubuntu

Come installare e utilizzare vnStat su Ubuntu 21.04

Come installare e utilizzare Docker Compose su Ubuntu 20.04

Come installare e utilizzare Docker Compose su Ubuntu 22.04

Come installare e utilizzare Docker su Ubuntu 22.04

Come installare e utilizzare Docker su Ubuntu 20.04