Recherche de site Web

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


Dans cette série de 4 articles, nous discuterons de Docker, un outil de virtualisation léger et open source qui s'exécute au 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 fichiers. 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, empêchant ainsi toute falsification extérieure.

Ce didacticiel fournit un point de départ sur la façon d'installer Docker, de créer et d'exécuter des conteneurs Docker sur CentOS/RHEL 8/7, mais ne fait qu'effleurer 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 ces versions sont installées, vous devez désinstallez-les avant d'installer une version docker-ce plus récente.

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 Docker. référentiel stable 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 de containerd 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 voyez 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. Vous pouvez désormais 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 depuis Docker Hub sur votre hôte. Docker Hub propose de nombreuses images gratuites à partir de ses référentiels.

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

docker search ubuntu

9. Après avoir décidé quelle image 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 lister 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 en cours d'exécution 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 hôte jusqu'à ce que vous choisissiez de les supprimer à l'aide de la commande docker rm.

12. Afin de créer et d'exécuter un conteneur, vous devez exécuter une commande sur 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 réexécuter 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 du 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 le conteneur en cours d'exécution, 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 que vous n'ayez pas à vous souvenir de l'ID du conteneur serait d'attribuer un nom unique à chaque conteneur que vous créez en utilisant le - -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 le conteneur (start, stop, supprimer, top, stats) en précisant simplement son nom, comme dans les exemples ci-dessous :

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

Sachez que certaines des commandes ci-dessus peuvent n'afficher aucun résultat si le processus de commande utilisé pour créer le conteneur se termine. Lorsque le processus qui s'exécute à l'intérieur du conteneur se termine, le conteneur s'arrête.

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

18. Afin de vous connecter de manière interactive à une session Container Shell et d'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 TTY 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 dans le conteneur Ubuntu.

19. Pour quitter et revenir à l'hôte à partir de la session de conteneur en cours, vous devez taper la commande exit. La commande exit termine tous les processus du conteneur et l'arrête.

exit

20. Si vous êtes connecté de manière interactive à l'invite du terminal de conteneur et que vous devez garder le conteneur en cours d'exécution mais quitter de la session interactive, vous pouvez quitter< la console et revenez 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 le conteneur ID ou nom, 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 base des conteneurs. Dans le prochain didacticiel, nous verrons comment enregistrer, supprimer et exécuter un serveur Web dans un conteneur Docker.