Ricerca nel sito web

Come installare Docker e Docker Compose su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Docker
  4. Gestisci i servizi Docker
  5. Esegui un contenitore utilizzando Docker
  6. Installa Docker Compose
  7. Comandi di composizione di Docker
  8. Conclusione

Docker è una piattaforma gratuita e open source per sviluppare, spedire ed eseguire applicazioni nell'ambiente containerizzato. Ti consente di separare la tua applicazione dalla tua infrastruttura. Ciò renderà più facile, più semplice e più sicuro costruire, distribuire e gestire i container. Docker è progettato per configurare un ambiente di sviluppo locale.

Se desideri creare più di un contenitore per la tua applicazione, dovresti utilizzare Docker compose. Docker-compose è uno strumento utilizzato per definire e condividere applicazioni multi-contenitore. Con Docker compose, puoi utilizzare il file YAML per definire tutti i servizi ed eseguirli contemporaneamente utilizzando il semplice comando.

In questo tutorial, ti mostreremo come installare Docker e Docker compose su un sistema Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Sul server è configurata una password di root.

Iniziare

Innanzitutto, si consiglia di aggiornare la cache dei pacchetti di sistema all'ultima versione. Puoi aggiornarli usando il seguente comando:

apt-get update -y

Al termine, installa le altre dipendenze richieste utilizzando il seguente comando:

apt-get install apt-transport-https software-properties-common ca-certificates curl gnupg lsb-release -y

Installa Docker

Per impostazione predefinita, l'ultima versione di Docker non è inclusa nel repository ufficiale di Debian 11. Quindi dovrai aggiungere il repository Docker CE all'APT. Puoi aggiungerlo usando il seguente comando:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Una volta aggiunto il repository Docker, aggiorna il repository e installa Docker CE con il seguente comando:

apt-get update -y
apt-get install docker-ce docker-ce-cli -y

Dopo l'installazione, verificare la versione di Docker CE utilizzando il seguente comando:

docker version

Dovresti ottenere il seguente output:

Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:54:22 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:31 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Gestisci i servizi Docker

Puoi gestire facilmente il servizio Docker utilizzando l'utilità systemd.

Per avviare un servizio Docker, eseguire il seguente comando:

systemctl start docker

Per riavviare un servizio Docker, eseguire il seguente comando:

systemctl restart docker

Per arrestare un servizio Docker, eseguire il seguente comando:

systemctl stop docker

Per consentire l'avvio del servizio Docker al riavvio del sistema, eseguire il seguente comando:

systemctl enable docker

Per verificare lo stato di Docker, eseguire il seguente comando:

systemctl status docker

Dovresti vedere lo stato di Docker nel seguente output:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-09-10 07:19:35 UTC; 27s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 29018 (dockerd)
      Tasks: 7
     Memory: 32.6M
        CPU: 407ms
     CGroup: /system.slice/docker.service
             ??29018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809035575Z" level=info msg="scheme \"unix\" not registered, fallback to def>
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809219999Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni>
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809410545Z" level=info msg="ClientConn switching balancer to \"pick_first\">
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.897972507Z" level=info msg="Loading containers: start."
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.186940748Z" level=info msg="Default bridge (docker0) is assigned with an IP>
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.298681937Z" level=info msg="Loading containers: done."
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.356364773Z" level=info msg="Docker daemon" commit=75249d8 graphdriver(s)=ov>
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.357524464Z" level=info msg="Daemon has completed initialization"
Sep 10 07:19:35 debian11 systemd[1]: Started Docker Application Container Engine.
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.401626151Z" level=info msg="API listen on /run/docker.sock"

Eseguire un contenitore utilizzando Docker

Puoi utilizzare il comando docker run per scaricare qualsiasi immagine ed eseguirla all'interno del contenitore.

Ad esempio, esegui il seguente comando per scaricare l'immagine Debian ed eseguire un contenitore:

docker run --rm -it --name test debian:latest /bin/sh

Dovresti ottenere il seguente output:

Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
955615a668ce: Pull complete 
Digest: sha256:08db48d59c0a91afb802ebafc921be3154e200c452e4d0b19634b426b03e0e25
Status: Downloaded newer image for debian:latest
#

Eseguire il seguente comando per uscire dal contenitore Debian

#exit

Installa Docker Compose

Per impostazione predefinita, Docker compose non è disponibile nel repository predefinito di Debian 11. Quindi dovrai scaricare Docker Compose Binary da Github.

Eseguire il comando seguente per scaricare il binario di composizione Docker:

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -

Una volta completato il download, imposta l'autorizzazione eseguibile sul file scaricato e spostalo nel percorso di sistema utilizzando il seguente comando:

chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose

Successivamente, verifica la versione di composizione di Docker utilizzando il seguente comando:

docker-compose version

Dovresti vedere il seguente output:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

Comandi di composizione di Docker

Per eseguire un file di composizione Docker, eseguire il seguente comando:

docker-compose up -d

Per arrestare tutti i contenitori in esecuzione, eseguire il comando seguente:

docker-compose down

Per mettere in pausa e riattivare il contenitore in esecuzione, eseguire il comando seguente:

docker-compose pause
docker-compose unpause

Per elencare tutti i contenitori in esecuzione, eseguire il seguente comando:

docker-compose ps

Per controllare i log dei servizi in esecuzione, eseguire il seguente comando:

docker-compose logs

Conclusione

Congratulazioni! hai installato correttamente Docker e Docker Compose su Debian 11. Ora puoi creare, spedire ed eseguire la tua applicazione utilizzando Docker e Docker Compose.