Comment installer Docker et Docker Compose sur Debian 11

Docker est une plateforme gratuite et open-source pour développer, expédier et exécuter des applications dans l’environnement conteneurisé. Elle te permet de séparer ton application de ton infrastructure. Ainsi, il sera plus facile, plus simple et plus sûr de construire, déployer et gérer des conteneurs. Docker est conçu pour mettre en place un environnement de développement local.

Si tu veux créer plus d’un conteneur pour ton application, tu dois utiliser Docker compose. Docker-compose est un outil utilisé pour définir et partager des applications multi-conteneurs. Avec Docker compose, tu peux utiliser le fichier YAML pour définir tous les services et les exécuter en une seule fois à l’aide d’une simple commande.

Dans ce tutoriel, nous allons te montrer comment installer Docker et Docker compose sur un système Debian 11.

Conditions préalables

  • Un serveur fonctionnant sous Debian 11.
  • Un mot de passe root est configuré sur le serveur.

Pour commencer

Tout d’abord, il est recommandé de mettre à jour le cache des paquets de ton système à la dernière version. Tu peux les mettre à jour à l’aide de la commande suivante :

apt-get update -y

Une fois que tu as terminé, installe les autres dépendances requises à l’aide de la commande suivante :

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

Installe Docker

Par défaut, la dernière version de Docker n’est pas incluse dans le dépôt officiel de Debian 11. Tu devras donc ajouter le dépôt Docker CE à l’APT. Tu peux l’ajouter à l’aide de la commande suivante :

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"

Une fois le référentiel Docker ajouté, mets à jour le référentiel et installe Docker CE à l’aide de la commande suivante :

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

Après l’installation, vérifie la version de Docker CE à l’aide de la commande suivante :

docker version

Tu devrais obtenir la sortie suivante :

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

Gérer les services Docker

Tu peux gérer le service Docker facilement à l’aide de l’utilitaire systemd.

Pour démarrer un service Docker, exécute la commande suivante :

systemctl start docker

Pour redémarrer un service Docker, exécute la commande suivante :

systemctl restart docker

Pour arrêter un service Docker, exécute la commande suivante :

systemctl stop docker

Pour permettre au service Docker de démarrer au redémarrage du système, exécute la commande suivante :

systemctl enable docker

Pour vérifier le statut de Docker, exécute la commande suivante :

systemctl status docker

Tu devrais voir le statut de Docker dans la sortie suivante :

? 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"

Exécuter un conteneur à l’aide de Docker

Tu peux utiliser la commande docker run pour télécharger n’importe quelle image et l’exécuter à l’intérieur du conteneur.

Par exemple, exécute la commande suivante pour télécharger l’image Debian et exécuter un conteneur :

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

Tu devrais obtenir la sortie suivante :

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
#

Exécute la commande suivante pour sortir du conteneur Debian.

#exit

Installer Docker Compose

Par défaut, Docker compose n’est pas disponible dans le référentiel par défaut de Debian 11. Tu devras donc télécharger le binaire de Docker compose depuis Github.

Exécute la commande suivante pour télécharger le binaire Docker compose :

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 -

Une fois le téléchargement terminé, définis la permission d’exécuter le fichier téléchargé et déplace-le dans le chemin du système à l’aide de la commande suivante :

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

Ensuite, vérifie la version de Docker compose à l’aide de la commande suivante :

docker-compose version

Tu devrais voir la sortie suivante :

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

Commandes de Docker Compose

Pour exécuter un fichier Docker compose, exécute la commande suivante :

docker-compose up -d

Pour arrêter tous les conteneurs en cours d’exécution, exécute la commande suivante :

docker-compose down

Pour mettre en pause et libérer le conteneur en cours d’exécution, exécute la commande suivante :

docker-compose pause
docker-compose unpause

Pour répertorier tous les conteneurs en cours d’exécution, exécute la commande suivante :

docker-compose ps

Pour vérifier les journaux des services en cours d’exécution, exécute la commande suivante :

docker-compose logs

Conclusion

Félicitations ! Tu as réussi à installer Docker et Docker Compose sur Debian 11. Tu peux maintenant construire, expédier et exécuter ton application à l’aide de Docker et Docker Compose.

Vous aimerez aussi...