Recherche de site Web

Installez Docker et apprenez la manipulation de conteneur de base dans CentOS et RHEL 8/7 - Partie 1


Dans cette série de 4 articles, nous aborderons Docker, qui est un outil de virtualisation léger open source qui s’exécute au sommet du niveau du système d’exploitation, permettant aux utilisateurs de créer, d’exécuter et de déployer des applications, encapsulées dans de petits conteneurs.

Ce type de conteneurs Linux s’est avéré rapide, portable et sécurisé. Les processus qui s’exécutent dans un conteneur Docker sont toujours isolés de l’hôte principal, ce qui empêche toute altération externe.

Ce tutoriel fournit un point de départ sur l’installation de Docker, la création et l’exécution de conteneurs Docker sur CentOS/RHEL 8/7, mais effleure à peine la surface de Docker.

Étape 1 : Installer et configurer Docker

1. Les versions antérieures de Docker étaient appelées docker ou docker-engine, si vous les avez installés, vous devez les désinstaller avant d’installer une version plus récente de docker-ce.

# yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. Pour installer la dernière version du moteur Docker, vous devez configurer le référentiel Docker et installer le package yum-utils pour activer le référentiel stable Docker sur le système.

# yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. Installez maintenant la nouvelle version de docker-ce à partir du référentiel Docker et conteneurd manuellement, car en raison de certains problèmes, Red Hat a bloqué l’installation de containerd.io > 1.2.0-3.el7, qui est une dépendance de docker-ce.

# yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli

4. Une fois le package Docker installé, démarrez le démon, vérifiez son état et activez-le à l’échelle du système à l’aide des commandes ci-dessous :

# systemctl start docker 
systemctl status docker
systemctl enable docker

5. Enfin, exécutez une image de test de conteneur pour vérifier si Docker fonctionne correctement, en exécutant la commande suivante :

# docker run hello-world

Si vous pouvez voir le message ci-dessous, alors tout est au bon endroit.

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

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

6. Maintenant, vous pouvez exécuter quelques commandes Docker de base pour obtenir des informations sur Docker :

Pour des informations à l’échelle du système sur Docker
# docker info

Pour la version Docker
# docker version

7. Pour obtenir une liste de toutes les commandes Docker disponibles, tapez docker sur votre console.

# docker

Étape 2 : Télécharger une image Docker

8. Pour démarrer et exécuter un conteneur Docker, vous devez d’abord télécharger une image à partir de Docker Hub sur votre hôte. Docker Hub propose de nombreuses images gratuites à partir de ses dépôts.

Pour rechercher une image Docker, Ubuntu, par exemple, émet la commande suivante :

# docker search ubuntu

9. Après avoir décidé de l’image que vous souhaitez exécuter en fonction de vos besoins, téléchargez-la localement en exécutant la commande ci-dessous (dans ce cas, une image Ubuntu est téléchargée et utilisée) :

# docker pull ubuntu

10. Pour répertorier toutes les images Docker disponibles sur votre hôte, exécutez la commande suivante :

# docker images

11. Si vous n’avez plus besoin d’une image Docker et que vous souhaitez la supprimer de l’hôte, exécutez la commande suivante :

# docker rmi ubuntu

Étape 3 : Exécuter un conteneur Docker

Lorsque vous exécutez une commande sur une image, vous obtenez essentiellement un conteneur. Une fois la commande qui s’exécute dans le conteneur terminée, le conteneur s’arrête (vous obtenez un conteneur non en cours d’exécution ou quitté). Si vous exécutez à nouveau une autre commande dans la même image, un nouveau conteneur est créé, et ainsi de suite.

Tous les conteneurs créés resteront sur le système de fichiers de l’hôte jusqu’à ce que vous choisissiez de les supprimer à l’aide de la commande docker rm.

12. Pour créer et exécuter un conteneur, vous devez exécuter command dans une image téléchargée, dans ce cas, Ubuntu, donc une commande de base serait d’afficher le fichier de version de distribution à l’intérieur du conteneur à l’aide de la commande cat, comme dans l’exemple suivant :

# docker run ubuntu cat /etc/issue

La commande ci-dessus est divisée comme suit :

# docker run [local image] [command to run into container]

13. Pour exécuter à nouveau l’un des conteneurs avec la commande qui a été exécutée pour le créer, vous devez d’abord obtenir l’ID du conteneur (ou le nom généré automatiquement par Docker) en exécutant la commande ci-dessous, qui affiche une liste des conteneurs en cours d’exécution et arrêtés (non en cours d’exécution) :

# docker ps -l 

14. Une fois l’ID de conteneur obtenu, vous pouvez redémarrer le conteneur avec la commande qui a été utilisée pour le créer, en exécutant la commande suivante :

# docker start 923a720da57f

Ici, la chaîne 923a720da57f représente l’ID du conteneur.

15. Si le conteneur est en cours d’exécution, vous pouvez obtenir son ID en exécutant la commande docker ps. Pour arrêter l’exécution du conteneur, exécutez la commande docker stop en spécifiant l’ID du conteneur ou le nom généré automatiquement.

# docker stop 923a720da57f
OR
docker stop cool_lalande
docker ps

16. Une alternative plus élégante pour ne pas avoir à vous souvenir de l’ID du conteneur serait d’allouer un nom unique pour chaque conteneur que vous créez à l’aide de l’option --name sur la ligne de commande, comme dans l’exemple suivant :

# docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. Ensuite, en utilisant le nom que vous avez attribué au conteneur, vous pouvez manipuler davantage le conteneur (start, stop, remove, top, stats) simplement en abordant son nom, comme dans les exemples ci-dessous :

# docker start ubuntu20.04
docker stats ubuntu20.04
docker top ubuntu20.04 

N’oubliez pas que certaines des commandes ci-dessus peuvent ne pas afficher de sortie si le processus de commande utilisé pour créer le conteneur se termine. Lorsque le processus qui se déroule à l’intérieur du conteneur se termine, le conteneur s’arrête.

Étape 4 : Exécuter une session interactive dans un conteneur

18. Pour vous connecter de manière interactive à une session de shell de conteneur et exécuter des commandes comme vous le faites sur n’importe quelle autre session Linux, exécutez la commande suivante :

# docker run -it ubuntu bash

La commande ci-dessus est divisée comme suit :

  1. -i est utilisé pour démarrer une session interactive.
  2. -t alloue un ATS et attache stdin et stdout.
  3. ubuntu est l’image que nous avons utilisée pour créer le conteneur.
  4. bash (ou /bin/bash) est la commande que nous exécutons à l’intérieur du conteneur Ubuntu.

19. Pour quitter et revenir à l’hôte à partir de la session de conteneur en cours d’exécution, vous devez taper la commande exit. La commande exit met fin à tous les processus de conteneur et les arrête.

# exit

20. Si vous êtes connecté de manière interactive à l’invite du terminal de conteneur et que vous devez maintenir le conteneur en état d’exécution mais quitter la session interactive, vous pouvez quitter la console et revenir au terminal hôte en appuyant sur les touches Ctrl+p et Ctrl+q.

21. Pour vous reconnecter au conteneur en cours d’exécution, vous avez besoin de l’ID ou du nom du conteneur. Exécutez la commande docker ps pour obtenir l’ID ou le nom, puis exécutez la commande docker attach en spécifiant l’ID ou le nom du conteneur, comme illustré dans l’image ci-dessus :

# docker attach <container id>

22. Pour arrêter un conteneur en cours d’exécution à partir de la session hôte, exécutez la commande suivante :

# docker kill <container id>

C’est tout pour la manipulation de conteneur de base. Dans le tutoriel suivant, nous verrons comment enregistrer, supprimer et exécuter un serveur Web dans un conteneur Docker.

Articles connexes: