GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Docker su Debian 11

Docker è un insieme di piattaforme aperte che fornisce la virtualizzazione a livello di sistema operativo per lo sviluppo, la spedizione e l'esecuzione di applicazioni. In Docker, le applicazioni vengono fornite come unità standardizzate di pacchetti chiamate container. Ogni container è isolato l'uno dall'altro, comprese le librerie ei file di configurazione, ma ognuno di essi può comunicare attraverso canali di rete ben definiti.

Per ora, Docker è diventato uno standard per lo sviluppo software e DevOps. Viene utilizzato da milioni di sviluppatori per creare, condividere ed eseguire qualsiasi applicazione ogni giorno al lavoro. Viene utilizzato nel ciclo di vita dello sviluppo dell'applicazione, dallo sviluppo stesso, al test e alla produzione. Con Docker, l'applicazione diventa più flessibile e portatile. Le applicazioni possono essere eseguite ovunque in diversi sistemi operativi in ​​modo semplice, ma l'applicazione stessa rimane la stessa dalle librerie ai file di configurazione.

In questo tutorial imparerai come installare Docker su Debian 11 Bullseye. Imparerai inoltre l'utilizzo di base di Docker per l'esecuzione di container e la gestione delle immagini.

Prerequisiti

  • Un server Debian 11. Assicurati che tutti i pacchetti siano aggiornati all'ultima versione.
  • Un utente root o un utente con privilegi di root. Questo utente verrà utilizzato per l'installazione di nuovi pacchetti e la modifica delle configurazioni di sistema.

Installa dipendenze

Per prima cosa, installerai alcune dipendenze dei pacchetti di base sul tuo sistema Debian.

1. Esegui il comando apt di seguito per installare le nuove dipendenze dei pacchetti.

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

Digita 'y ' e premi 'Invio ' per installare tutti quei pacchetti.

Aggiunta del repository Docker

Per questa guida, installerai Docker dal repository Docker ufficiale. Quindi aggiungerai un nuovo repository Docker al tuo sistema Debian.

1. Esegui il comando seguente per aggiungere la chiave GPG per Docker.

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

2. Successivamente, aggiungi il repository Docker per il sistema Debian 11 utilizzando il comando seguente.

echo \
 "deb [arch=amd64 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

3. Ora esegui 'apt update ' comando per aggiornare/aggiornare tutti i repository disponibili.

apt update

Ora sei pronto per installare Docker su Debian 11 Bullseye.

Installazione di Docker su Debian 11

1. Se sul tuo sistema è già stato installato Docker dal repository Debian, devi rimuoverlo utilizzando il comando seguente.

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

2. Successivamente, puoi installare nuovamente Docker utilizzando il comando apt di seguito.

apt install docker-ce docker-ce-cli containerd.io

Digita 'y ' e premi 'Invio ' per confermare l'installazione.

3. Se l'installazione è completa, eseguire il comando seguente per verificare l'installazione.

Verifica se il servizio è abilitato o meno.

systemctl is-enabled docker
systemctl is-enabled containerd

Controlla lo stato del servizio Docker e Containerd.

systemctl status docker containerd

Di seguito è riportato l'output simile che otterrai.

Come visto, i servizi Docker e Containerd sono attivi (in esecuzione) ed entrambi i servizi sono abilitati e verrà eseguito automaticamente all'avvio del sistema.

Consenti all'utente non root di Docker

Per impostazione predefinita, Docker consente solo all'utente 'root ' per eseguire contenitori. E affinché un utente non root sia in grado di eseguire container, devi aggiungere il tuo utente non root al gruppo 'docker ', che viene creato automaticamente durante l'installazione di Docker.

1. Per questo esempio, utilizzerai un utente 'johndoe ' per eseguire un contenitore Docker.

Crea il nuovo utente 'johndoe' sul tuo sistema Debian usando il seguente comando.

useradd -m -s /bin/bash johndoe

2. Successivamente, esegui il comando seguente per aggiungere l'utente 'johndoe ' al gruppo 'docker '.

usermod -aG docker johndoe

3.  Ora accedi come utente 'johndoe ' utilizzando il comando seguente e verifica la configurazione.

su - johndoe

Esegui il seguente comando Docker per verificare la tua installazione.

docker run hello-world

E vedrai "Hello Docker ' messaggio qui sotto.

Di seguito è riportata una semplice spiegazione del comando Docker che esegui in alto.

  • La finestra mobile cercherà di trovare un nome di immagine 'hello-world'. Se l'immagine è disponibile localmente, la finestra mobile eseguirà il contenitore, se l'immagine non è disponibile localmente, la finestra mobile troverà e scaricherà l'immagine 'hello-world' sull'hub Docker (repository di immagini della finestra mobile predefinita).
  • Se l'immagine della finestra mobile viene scaricata, la finestra mobile eseguirà il contenitore. E il contenitore esegue i comandi e ti mostra il messaggio "Hello Docker".

4. Ora controlla il contenitore della finestra mobile utilizzando il comando della finestra mobile di seguito.

Controllo del contenitore con stato 'in esecuzione '.

docker ps

Verifica di tutti i contenitori:verranno visualizzati tutti i contenitori, attualmente in esecuzione e interrotti.

docker ps -a

Di seguito è riportato un output simile a quello di seguito.

Come puoi vedere, il nuovo nome del contenitore 'bold_bartix ' viene creato con l'immagine di base 'hello-world ' e lo stato corrente del contenitore è 'Esci ' o fermato. Il nome del contenitore 'bold_bartix' nello screenshot è scelto casualmente da Docker, ma puoi specificare il nome del tuo contenitore.

Utilizzo di base di Docker

In questa fase imparerai l'utilizzo di base di Docker per la gestione di immagini e contenitori.

1. Innanzitutto, scarica le immagini Docker sul tuo computer locale utilizzando il seguente comando.

docker pull nginx:alpine

Il comando scaricherà il nome dell'immagine Docker 'nginx ' e tag 'alpino ' al tuo sistema.

Il termine "tag ' è come una versione dell'immagine stessa. Il 'nginx:alpine ' significa 'nginx ' immagine con tag 'alpino ', che significa basato sul sistema operativo Alpine Linux. Controlla sempre tutti i tag disponibili delle immagini Docker nel repository Docker-Hub ufficiale.

Di seguito è riportato un esempio di tutti i tag disponibili per l'immagine Docker 'nginx '.

Per controllare tutte le immagini della finestra mobile disponibili sul tuo sistema locale, esegui il seguente comando della finestra mobile.

docker images

Vedrai un output simile come di seguito.

Come visto, hai due immagini Docker, nginx:alpine e ciao mondo .

2. Quindi, esegui il seguente comando per eseguire un container.

docker run -it --rm -d -p 8080:80 --name web nginx:alpine

Ora otterrai la stringa casuale e il numero del nuovo contenitore.

Opzioni che devi conoscere:

  • -i oppure --interactive - mantiene aperto il contenitore STDIN anche se sganciato.
  • -t oppure --tty - alloca uno pseudo-terminale che collega il tuo terminale con STDIN e STDOUT del container.
  • --rm - rimuovere automaticamente il contenitore all'uscita o all'arresto del contenitore.
  • -d - eseguendo il contenitore in background, scollega il contenitore dopo che è in esecuzione.
  • -p 8080:80 - mappare la porta tra container e sistema host. La porta '80 ' nel contenitore è mappato al sistema host porta '8080 '.
  • --nome web - specifica il nuovo nome del contenitore come 'web '.
  • nginx:alpino - l'immagine Docker che utilizziamo è 'nginx:alpine '.

Ora controlla il contenitore in esecuzione usando il comando seguente.

docker ps

Vedrai un risultato simile come di seguito.

Per verificare il tuo contenitore Nginx, apri il tuo browser web e digita l'indirizzo IP del tuo server con la porta '8080 '.

http://192.168.1.10:8080/

E vedrai la pagina dell'indice di Nginx dal contenitore 'web ' come di seguito.

3. Successivamente, puoi controllare il registro del contenitore eseguendo il seguente comando docker.

docker logs web

E vedrai tutti i log del tuo container, dall'inizio alla fine.

Per limitare l'output del registro, puoi utilizzare '--tail n ' come di seguito.

docker logs --tail 10 web

E vedrai le ultime 10 righe dei log del contenitore.

4. Ora per interrompere il contenitore Docker, puoi utilizzare il comando Docker di seguito.

docker stop web

Successivamente, verifica il contenitore in esecuzione utilizzando il comando seguente.

docker ps
docker ps -a

Vedrai il seguente output come di seguito.

Il 'web ' container viene arrestato e viene automaticamente eliminato. È perché usi l'opzione '--rm ' durante l'esecuzione del contenitore.

5. Successivamente, imparerai a eseguire il contenitore con il volume personalizzato. La directory sulla macchina host verrà utilizzata come volume per il contenitore Docker.

Crea i nuovi "dati ' directory e personalizzato 'index.html ' utilizzando il comando seguente.

mkdir -p ~/data/
nano ~/data/index.html

Copia e incolla il file personalizzato 'index.html ' come di seguito.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Welcome to Docker Nginx</title>
</head>
<body>
  <h2>Hello from Nginx container</h2>
</body>
</html>

Salva la configurazione premendo il tasto 'Ctrl+x ', digita 'y ', quindi premi 'Invio '.

Quindi, crea il nuovo contenitore utilizzando il comando Docker qui sotto.

docker run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine

Ora otterrai il numero casuale e la stringa del contenitore.

L'opzione '-v ~/data:/usr/share/nginx/html ' monterà i '~/data ' sul computer locale al contenitore in '/usr/share/nginx/html ' directory.

Ora verifica il contenitore Docker usando il seguente comando.

docker ps

E vedrai un output simile come di seguito.

Quindi, apri nuovamente il tuo browser web e digita l'indirizzo IP del server seguito dalla porta '8080 ' come di seguito.

http://192.168.1.10:8080/

E otterrai il "index.html" personalizzato che hai appena creato in cima, il che significa "~/data ' la directory è montata nel contenitore '/usr/share/nginx/html ' directory.

6. Inoltre, puoi accedere al contenitore in esecuzione correntemente in esecuzione 'web ' eseguendo il comando Docker qui sotto.

Innanzitutto, controlla il contenitore "web ' è in esecuzione.

docker ps

Ora collega al contenitore 'web' usando il comando seguente.

docker exec -it web /bin/sh

All'interno del container, controlla il nome host del container usando il comando seguente.

hostname

Controlla l'indirizzo IP del contenitore utilizzando 'ip ' comando qui sotto.

ip a

Controlla la tabella di routing del container usando il seguente comando.

route -n

Di seguito è riportato l'output simile che otterrai.

Per ripulire il tuo ambiente attuale, interrompi il "web ' container usando il seguente comando.

docker stop web

Inoltre, puoi rimuovere tutti i contenitori con lo stato "exit ' utilizzando il comando seguente.

docker rm $(docker ps --filter "status=exited" -q)

Conclusione

Congratulazioni! Hai installato correttamente Docker su Debian 11 Bullseye. Inoltre, hai appreso l'utilizzo di base di Docker per estrarre un'immagine da Docker-Hub, eseguire il container Docker, controllare lo stato del container Docker, i log e l'utilizzo di base del volume Docker. Per il passaggio successivo, puoi provare a creare la tua immagine Docker personalizzata per la tua applicazione inviarla al repository Docker Hub.


Debian
  1. Come installare Docker su Debian 10 Buster

  2. Come installare Docker su Debian 10 Buster Linux

  3. Come installare Docker Engine su Debian 11

  4. Come installare Docker su Debian 9 (Stretch)

  5. Come installare e configurare la finestra mobile su Debian 11

Come installare Docker su Debian 9 Stretch

Come installare Docker Compose su Debian 9 Stretch

Come installare Vai su Debian 10

Come installare Bitwarden su Debian 11

Come installare Docker CE su Debian 11

Come installare Vai su Debian