GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Docker sur Debian 11

Docker est un ensemble de plates-formes ouvertes qui fournit une virtualisation au niveau du système d'exploitation pour le développement, la livraison et l'exécution d'applications. Dans Docker, les applications sont livrées sous forme d'unités standardisées appelées conteneurs. Chaque conteneur est isolé les uns des autres, y compris les bibliothèques et les fichiers de configuration, mais chacun d'eux peut communiquer via des canaux réseau bien définis.

Pour l'instant, Docker est devenu un standard pour le développement de logiciels et DevOps. Il est utilisé par des millions de développeurs pour créer, partager et exécuter des applications tous les jours au travail. Il est utilisé dans le cycle de vie du développement d'applications, depuis le développement lui-même, les tests et la production. Avec Docker, l'application devient plus flexible et portable. Les applications peuvent être exécutées n'importe où dans différents systèmes d'exploitation de manière simple, mais l'application elle-même reste la même, des bibliothèques aux fichiers de configuration.

Dans ce didacticiel, vous apprendrez à installer Docker sur Debian 11 Bullseye. Vous apprendrez également l'utilisation de base de Docker pour exécuter des conteneurs et gérer des images.

Prérequis

  • Un serveur Debian 11. Assurez-vous que tous les packages sont mis à jour vers la dernière version.
  • Un utilisateur root ou un utilisateur avec des privilèges root. Cet utilisateur sera utilisé pour installer de nouveaux packages et modifier les configurations système.

Installer les dépendances

Tout d'abord, vous allez installer certaines dépendances de paquets de base sur votre système Debian.

1. Exécutez la commande apt ci-dessous pour installer de nouvelles dépendances de packages.

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

Tapez 'y ' et appuyez sur 'Entrée ' pour installer tous ces packages.

Ajout d'un référentiel Docker

Pour ce guide, vous installerez Docker à partir du référentiel Docker officiel. Vous allez donc ajouter un nouveau dépôt Docker à votre système Debian.

1. Exécutez la commande suivante pour ajouter la clé GPG pour Docker.

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

2. Après cela, ajoutez le référentiel Docker pour le système Debian 11 à l'aide de la commande ci-dessous.

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. Lancez maintenant la 'mise à jour apt ' pour mettre à jour/actualiser tous les référentiels disponibles.

apt update

Vous êtes maintenant prêt à installer Docker sur Debian 11 Bullseye.

Installer Docker sur Debian 11

1. Si votre système a déjà installé Docker à partir du référentiel Debian, vous devez le supprimer à l'aide de la commande ci-dessous.

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

2. Après cela, vous pouvez réinstaller Docker à l'aide de la commande apt ci-dessous.

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

Tapez 'y ' et appuyez sur 'Entrée ' pour confirmer l'installation.

3. Si l'installation est terminée, exécutez la commande suivante pour vérifier l'installation.

Vérifiez si le service est activé ou non.

systemctl is-enabled docker
systemctl is-enabled containerd

Vérifiez l'état des services Docker et Containerd.

systemctl status docker containerd

Vous trouverez ci-dessous le résultat similaire que vous obtiendrez.

Comme on le voit, les services Docker et Containerd sont actifs (en cours d'exécution) , et les deux services sont activés et s'exécutera automatiquement au démarrage du système.

Autoriser l'utilisateur non root à Docker

Par défaut, Docker n'autorise que l'utilisateur 'root ' pour exécuter des conteneurs. Et pour qu'un utilisateur non root puisse exécuter des conteneurs, vous devez ajouter votre utilisateur non root au groupe 'docker ', qui est automatiquement créé lors de l'installation de Docker.

1. Pour cet exemple, vous utiliserez un utilisateur 'johndoe ' pour exécuter un conteneur Docker.

Créez le nouvel utilisateur 'johndoe' sur votre système Debian en utilisant la commande suivante.

useradd -m -s /bin/bash johndoe

2. Après cela, exécutez la commande suivante pour ajouter l'utilisateur 'johndoe ' au groupe 'docker '.

usermod -aG docker johndoe

3.  Connectez-vous maintenant en tant qu'utilisateur 'johndoe ' à l'aide de la commande ci-dessous et vérifiez la configuration.

su - johndoe

Exécutez la commande docker suivante pour vérifier votre installation.

docker run hello-world

Et vous verrez le 'Hello Docker ' message ci-dessous.

Vous trouverez ci-dessous une explication simple de la commande docker que vous exécutez en haut.

  • Le menu fixe essaiera de trouver un nom d'image 'hello-world'. Si l'image est disponible localement, le docker exécutera le conteneur, si l'image n'est pas disponible localement, le Docker trouvera et téléchargera l'image 'hello-world' sur le Docker-hub (référentiel d'images docker par défaut).
  • Si l'image Docker est téléchargée, Docker exécutera le conteneur. Et le conteneur exécute les commandes et affiche le message "Hello Docker".

4. Vérifiez maintenant le conteneur docker à l'aide de la commande docker ci-dessous.

Vérification du conteneur avec l'état "en cours d'exécution '.

docker ps

Vérification de tous les conteneurs - vous affichera tous les conteneurs, les conteneurs en cours d'exécution et les conteneurs arrêtés.

docker ps -a

Vous trouverez ci-dessous une sortie similaire à celle ci-dessous.

Comme vous pouvez le voir, le nouveau nom de conteneur 'bold_bartix ' est créé avec l'image de base 'hello-world ', et l'état actuel du conteneur est 'Exited ' ou arrêté. Le nom du conteneur 'bold_bartix' dans la capture d'écran est choisi au hasard par Docker, mais vous pouvez spécifier le nom de votre conteneur.

Utilisation de base de Docker

Pour cette étape, vous apprendrez l'utilisation très basique de Docker pour la gestion des images et des conteneurs.

1. Tout d'abord, téléchargez les images Docker sur votre ordinateur local à l'aide de la commande suivante.

docker pull nginx:alpine

La commande téléchargera le nom de l'image Docker 'nginx ' et tag 'alpin ' à votre système.

Le terme 'tags ' est comme une version de l'image elle-même. Le 'nginx:alpin ' signifie le 'nginx ' image avec le tag 'alpin ', ce qui signifie basé sur le système d'exploitation Alpine Linux. Vérifiez toujours toutes les balises disponibles des images Docker dans le référentiel officiel Docker-Hub.

Vous trouverez ci-dessous un exemple de toutes les balises disponibles pour l'image Docker 'nginx '.

Pour vérifier toutes les images docker disponibles sur votre système local, exécutez la commande docker suivante.

docker images

Vous verrez une sortie similaire à celle ci-dessous.

Comme on le voit, vous avez deux images Docker, le nginx:alpine et hello-world .

2. Ensuite, exécutez la commande suivante pour exécuter un conteneur.

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

Vous obtiendrez maintenant la chaîne aléatoire et le numéro du nouveau conteneur.

Options que vous devez connaître :

  • -i ou --interactive - garde le conteneur STDIN ouvert même s'il n'est pas attaché.
  • -t ou --tty - alloue un pseudo-terminal qui connecte votre terminal aux STDIN et STDOUT du conteneur.
  • --rm - supprimer automatiquement le conteneur lorsque le conteneur est quitté ou arrêté.
  • -d - exécuter le conteneur en arrière-plan, détacher le conteneur après son exécution.
  • -p 8080:80 - mapper le port entre le conteneur et le système hôte. Le port '80 ' sur le conteneur est mappé au système hôte port '8080 '.
  • --nom du site Web - spécifiez le nouveau nom de conteneur en tant que 'web '.
  • nginx :alpine - l'image Docker que nous utilisons est 'nginx:alpine '.

Vérifiez maintenant le conteneur en cours d'exécution à l'aide de la commande ci-dessous.

docker ps

Vous verrez un résultat similaire à celui ci-dessous.

Pour vérifier votre conteneur Nginx, ouvrez votre navigateur Web et tapez l'adresse IP de votre serveur avec le port '8080 '.

http://192.168.1.10:8080/

Et vous verrez la page d'index Nginx du conteneur 'web ' comme ci-dessous.

3. Ensuite, vous pouvez vérifier le journal du conteneur en exécutant la commande docker suivante.

docker logs web

Et vous verrez tous les journaux de votre conteneur, du début à la fin.

Pour limiter la sortie du journal, vous pouvez utiliser le '--tail n ' comme ci-dessous.

docker logs --tail 10 web

Et vous verrez les 10 dernières lignes des journaux du conteneur.

4. Maintenant, pour arrêter le conteneur Docker, vous pouvez utiliser la commande Docker ci-dessous.

docker stop web

Après cela, vérifiez le conteneur en cours d'exécution à l'aide de la commande suivante.

docker ps
docker ps -a

Vous verrez la sortie suivante comme ci-dessous.

Le 'web ' est arrêté et automatiquement supprimé. C'est parce que vous utilisez l'option '--rm ' lors de l'exécution du conteneur.

5. Ensuite, vous apprendrez à exécuter le conteneur avec le volume personnalisé. Le répertoire sur la machine hôte sera utilisé comme volume pour le conteneur Docker.

Créez les nouvelles 'données ' répertoire et personnalisé 'index.html ' à l'aide de la commande suivante.

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

Copiez et collez le fichier personnalisé 'index.html ' comme ci-dessous.

<!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>

Enregistrez la configuration en appuyant sur 'Ctrl+x ', tapez 'y ', puis appuyez sur 'Entrée '.

Ensuite, créez le nouveau conteneur à l'aide de la commande docker ci-dessous.

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

Vous obtiendrez maintenant le nombre aléatoire et la chaîne du conteneur.

L'option '-v ~/data:/usr/share/nginx/html ' montera le '~/data ' sur la machine locale au conteneur dans '/usr/share/nginx/html ' répertoire.

Vérifiez maintenant le conteneur Docker à l'aide de la commande suivante.

docker ps

Et vous verrez une sortie similaire à celle ci-dessous.

Ensuite, ouvrez à nouveau votre navigateur Web et tapez l'adresse IP du serveur suivie du port '8080 ' comme ci-dessous.

http://192.168.1.10:8080/

Et vous obtiendrez le 'index.html' personnalisé que vous venez de créer en haut, ce qui signifie le '~/data ' est monté sur le conteneur '/usr/share/nginx/html ' répertoire.

6. De plus, vous pouvez vous connecter au conteneur en cours d'exécution 'web ' en exécutant la commande docker ci-dessous.

Tout d'abord, vérifiez le conteneur 'web ' est en cours d'exécution.

docker ps

Attachez maintenant au conteneur 'web' en utilisant la commande ci-dessous.

docker exec -it web /bin/sh

À l'intérieur du conteneur, vérifiez le nom d'hôte du conteneur à l'aide de la commande suivante.

hostname

Vérifiez l'adresse IP du conteneur en utilisant le 'ip ' ci-dessous.

ip a

Vérifiez la table de routage du conteneur à l'aide de la commande suivante.

route -n

Vous trouverez ci-dessous le résultat similaire que vous obtiendrez.

Pour nettoyer votre environnement actuel, arrêtez le 'web ' à l'aide de la commande suivante.

docker stop web

De plus, vous pouvez supprimer tous les conteneurs avec le statut 'exit ' en utilisant la commande ci-dessous.

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

Conclusion

Félicitations ! Vous avez installé avec succès Docker sur Debian 11 Bullseye. En outre, vous avez appris l'utilisation de base de Docker pour extraire une image de Docker-Hub, exécuter le conteneur Docker, vérifier l'état du conteneur Docker, les journaux et l'utilisation de base du volume Docker. Pour l'étape suivante, vous pouvez essayer de créer votre image Docker personnalisée pour votre application en la poussant vers le référentiel Docker Hub.


Debian
  1. Comment installer Docker sur Debian 10 Buster

  2. Comment installer Docker sur Debian 10 Buster Linux

  3. Comment installer Docker Engine sur Debian 11

  4. Comment installer Docker sur Debian 9 (Stretch)

  5. Comment installer et configurer docker sur Debian 11

Comment installer Docker sur Debian 9 Stretch

Comment installer Docker Compose sur Debian 9 Stretch

Comment installer Go sur Debian 10

Comment installer Bitwarden sur Debian 11

Comment installer Docker CE sur Debian 11

Comment installer Go sur Debian