Retour au blog

Installation de Docker Compose sur CentOS 7

Installation de Docker Compose sur CentOS 7

La dockerisation a redéfini le processus de déploiement et d'automatisation dans l'industrie du logiciel. Depuis sa création, l'équipe Docker s'est continuellement efforcée de rendre le déploiement automatisé fluide. La technologie de conteneurisation ne permet pas seulement un développement rapide et efficace des applications, mais permet également de gagner du temps et d'épargner des efforts fastidieux. Des fonctionnalités inégalées telles que l'orchestration, la définition et l'exécution d'applications multi-conteneurs font de Docker un choix de prédilection pour les développeurs.

Conteneurs et images Docker

Alors que vous vous plongez dans la compréhension de Docker, il est essentiel de revoir les bases. Comprendre le fonctionnement de Docker peut être délicat si vous n'avez aucune expérience en la matière. Dans cette section, nous allons définir quelques concepts essentiels pour les débutants. Si vous pensez être familier avec ces concepts, n'hésitez pas à les ignorer et à passer à la section suivante. Vous pouvez également jeter un coup d'œil à notre guide complet qui explique les concepts fondamentaux de Docker.

  • Images Docker

Les images Docker sont une collection de fichiers en lecture seule. Une fois que vous avez créé des images Docker, vous ne pouvez pas les modifier, bien qu'il soit possible de les supprimer. Nous utilisons une image Docker pour créer un ou plusieurs conteneurs Docker selon nos besoins. Pour vérifier le nombre d'images en cours d'exécution sur votre système, utilisez la commande :

Lorsque vous récupérez des images depuis un registre distant comme Docker Hub, vous téléchargez des fichiers et des dossiers. Pour récupérer une image, utilisez la commande :

  • Conteneurs Docker

Les images Docker sont le modèle des conteneurs Docker. Techniquement, un conteneur Docker est une instance d'une image Docker. Imaginez, si une image Docker est comme un parent, alors un conteneur Docker est l'enfant. Contrairement aux images Docker que vous pouvez créer une seule fois, vous pouvez créer plusieurs conteneurs à l'aide d'une seule image. Pour vérifier la liste des images en cours d'exécution sur votre système, utilisez la commande :

Pour récupérer un conteneur, utilisez la commande suivante :

  • Comment fonctionnent les images et les conteneurs Docker

Les images et conteneurs Docker travaillent main dans la main pour libérer le potentiel de Docker. Un seul conteneur est construit à l'aide de l'image Docker via la commande run. Lorsque vous créez un conteneur Docker, une nouvelle couche appelée Container Layer est créée. La couche nouvellement créée contient l'application et ses dépendances. Chaque conteneur que vous créez possède une Container Layer en lecture/écriture différente, et toutes les modifications apportées au conteneur Docker sont automatiquement répercutées sur la Container Layer. N'oubliez pas que si vous choisissez de supprimer un conteneur, vous perdrez également la Container Layer.

Dites bonjour à Docker Compose

Docker Compose est un outil de gestion de conteneurs qui vous permet de configurer et d'orchestrer tous vos conteneurs Docker dans un unique YAML de configuration. Le démarrage, l'arrêt et la création de liaisons et de volumes entre conteneurs sont tous facilités par cet outil.

  • Que fait Docker Compose ?

Pour faire simple, Docker Compose facilite les tâches complexes en éliminant les conflits et les problèmes d'organisation. Il permet aux utilisateurs de gérer différents conteneurs Docker de manière centralisée. En d'autres termes, au lieu d'avoir tous les services dans un grand conteneur, Docker Compose divise un service en plusieurs services afin que les utilisateurs puissent y accéder et les gérer sans effort.

Dans ce guide, nous vous guiderons à travers les étapes d'installation de la version actuelle de Docker Compose pour gérer des applications multi-conteneurs sur CentOS 7. Nous passerons également en revue quelques commandes de base dont vous avez besoin pour utiliser le logiciel avec succès.

  • Comment utiliser Docker Compose

L'utilisation de Docker Compose est extrêmement simple, même pour les débutants. Voyons le processus en trois étapes de Docker Compose :

1. Construire : Tout d'abord, construisez des images dans le Dockerfile selon les besoins de votre projet, ou récupérez-les depuis le registre.

2. Définir : Ensuite, vous devez définir tous les services composants dans le compose.yml fichier.

3. Exécuter: Après avoir défini les composants, il est temps de lancer l'exécution en utilisant la docker-compose commande.

Prérequis

Avant de procéder à l'installation de Docker Compose sur votre serveur CentOS, assurez-vous de disposer de :

Vous êtes maintenant prêt. Ensuite, suivez les étapes ci-dessous pour installer Docker Compose sur CentOS 7.

Étape 1 : Installation de Docker Compose

Pour obtenir la version la plus récente de Docker Compose, suivez les instructions de la documentation Docker et téléchargez les binaires depuis le dépôt GitHub de Docker. Vérifiez que vous avez la dernière version du logiciel en exécutant la commande ci-dessous :

Pour rendre le binaire exécutable, définissez les permissions ci-dessous :

Ensuite, recherchez votre version pour vérifier si l'installation a réussi :

Le code ci-dessous affichera la version installée :

docker-compose --version

Vous pouvez ensuite exécuter un exemple “Hello World” en utilisant le Docker Compose que vous avez installé.

Étape 2 : Utiliser Docker Compose pour exécuter un conteneur

Il existe une image “Hello World” dans Docker Hub, le registre Docker public, qui peut être utilisée pour des démonstrations et des tests. Elle montre comment exécuter un conteneur à l'aide de Docker Compose avec une configuration minimale. Tout d'abord, vous devez créer un répertoire pour notre fichier YAML :

Ensuite, déplacez-vous dans ce répertoire :

Ensuite, à l'aide de votre éditeur de texte préféré, générez le fichier YAML. Dans ce tutoriel, nous utiliserons Vi:

Appuyez sur i pour passer en mode insertion, puis saisissez ceci dans le fichier :

Dans le nom du conteneur, la première ligne sera incorporée. La deuxième ligne indique au programme quelle image il doit utiliser pour créer le conteneur. docker-composeup recherchera une image locale portant le nom hello-world pour vérifier s'il est disponible lorsque vous tapez la commande. Pour quitter le mode insertion, appuyez sur ESC. Ensuite, saisissez :x et appuyez sur ENTRÉE pour enregistrer et quitter le fichier. La commande docker images peut être utilisée pour vérifier manuellement la présence d'images sur votre machine :

Seuls les en-têtes de colonne apparaissent lorsqu'il n'y a aucune image locale :

Docker Compose on CentOS 6

Pour créer le conteneur, exécutez cette commande tout en restant dans le répertoire /hello-world:

Lorsque vous exécutez la commande pour la première fois et qu’il n’y a pas d’image locale nommée hello-world, il sera téléchargé depuis le dépôt Docker Hub :

sudo docker-compose up

Pour s'assurer que l'installation fonctionne, Docker Compose récupère l'image, construit un conteneur, s'y attache et exécute le hello programme :

hello program

Après cela, une description de ce qui a été fait s'affiche :

Docker Compose on CentOS 3

Lorsque hello a terminé sa tâche, le conteneur sera arrêté et la commande ne sera plus en cours d'exécution dans le conteneur. Les en-têtes de colonnes s'afficheront lors de la consultation des processus actifs. Cependant, le hello-world conteneur ne sera pas listé car il n'est pas en cours de fonctionnement actuellement :

sudo docker ps

Pour voir tous les conteneurs, et pas seulement les conteneurs actuels, utilisez le -a option :

Docker Compose 2

Maintenant que vous avez essayé d’exécuter un conteneur, vous pouvez continuer pour apprendre certaines des commandes fondamentales de Docker Compose.

Étape 3 : Commandes Docker Compose

Pour vous aider à démarrer avec Docker Compose, cette section passera en revue les commandes de base fournies par l’outil docker-compose. docker-compose est une commande qui fonctionne répertoire par répertoire. En générant un répertoire pour chaque conteneur et un docker-compose.yml fichier par répertoire, vous pouvez exécuter de nombreux groupes de conteneurs Docker sur le même ordinateur.

Jusqu'à présent, vous avez exécuté Docker Compose par vous-même. Vous pouvez l'arrêter en appuyant sur Ctrl-C. Cela permet à la fenêtre du terminal d'afficher les messages de débogage. Cependant, il est conseillé d'exécuter docker-compose en tant que service lors d'un fonctionnement en production. L'option -d peut être utilisée comme un moyen simple d'y parvenir :

Maintenant, docker-compose passe en arrière-plan. Votre groupe de conteneurs Docker (qu'ils soient arrêtés ou en cours d'exécution) peut être géré avec la commande suivante :

L'État d'un conteneur sera signalé comme Exited s'il est arrêté, comme le montre l'exemple ci-dessous :

Docker Compose on CentOS 5

Un conteneur en cours d'exécution affichera :

Vous pouvez terminer tous les conteneurs Docker en cours d'exécution dans le même répertoire que le docker-compose.yml fichier que vous avez utilisé pour démarrer le groupe Docker :

Note: Si vous devez tout arrêter de manière plus forcée, docker-compose kill est également disponible.

Dans certains cas, les conteneurs Docker peuvent conserver leurs anciennes données à l'intérieur. Utilisez la commande rm pour supprimer tous les conteneurs de votre groupe de conteneurs si vous souhaitez repartir de zéro :

L'exécution de l'une de ces commandes depuis un autre répertoire que celui où le conteneur Docker et le fichier .yml sont situés entraînera un message d'erreur :

Dans cette section, nous avons abordé les bases de la manipulation des conteneurs avec Docker Compose. Comme indiqué, dans la section suivante, vous pouvez accéder au système de fichiers Docker et exécuter des commandes à partir d’une invite de commande à l’intérieur du conteneur si vous avez besoin d’un contrôle supplémentaire sur vos conteneurs.

Étape 4 : Accéder au système de fichiers du conteneur Docker

Il est possible d’exécuter une invite de commande dans un conteneur et d’accéder au système de fichiers du conteneur en utilisant docker exec, qui est un outil en ligne de commande. À titre d’exemple, exécutez “Hello World” et voyez combien de temps prend le docker exec commande à se terminer. Pour les besoins de ce tutoriel, l'image Docker Hub de Nginx peut être utilisée. Créez un nouveau répertoire nommé nginx et accédez-y :

Vous devriez maintenant avoir un docker-compose.yml fichier, que vous pouvez ouvrir dans un éditeur de texte :

Ensuite, dans le fichier, ajoutez ce qui suit :

Il est temps de fermer l'application. Pour démarrer le conteneur Nginx en arrière-plan, utilisez la commande suivante :

Docker Compose on CentOS 1

Docker Compose téléchargera l’image Nginx et exécutera le conteneur en arrière-plan. Pour continuer, vous devrez saisir l’ID DU CONTENEUR.  Vous pouvez afficher tous les conteneurs en cours d’exécution avec la commande suivante :

Vous verrez ce qui suit :

 Docker Compose on CentOS 4

Si vous vouliez modifier le système de fichiers à l’intérieur de ce conteneur, en utilisant docker exec, vous utiliseriez l’identifiant unique du conteneur (dans ce cas, f139d0d78ca7) pour ouvrir un shell dans le conteneur :

sudo docker exec -it

Un terminal interactif peut être ouvert en utilisant l'option -t, tandis que /bin/bash fournit un shell bash au conteneur. Voici l’invite bash que vous verrez pour le conteneur après cela :

À l’intérieur de votre conteneur, vous trouverez une invite de commande. Redémarrer le conteneur écrasera toutes les modifications que vous avez apportées, à moins que vous ne travailliez dans un répertoire sauvegardé dans le cadre d’un volume de données. Si vous avez l’habitude de travailler avec les outils en ligne de commande Linux, vous devez savoir que la plupart des images Docker sont produites en utilisant les installations Linux les plus basiques.

Conclusion

Nous vous avons guidé à travers les étapes d'installation de la version actuelle de Docker Compose pour gérer des applications multi-conteneurs sur CentOS 7. La capacité de Docker Compose à démarrer et arrêter simultanément un grand nombre de conteneurs est impressionnante. Passer des modèles aux applications prend quelques minutes. Ainsi, si votre travail implique d'exécuter plusieurs conteneurs à la fois, s'en tenir à Docker Compose est une excellente option. Cependant, ce n'est pas une solution universelle. Vous pouvez également trouver de meilleures options, en fonction de vos besoins particuliers, par exemple, Kubernetes.

Pour explorer plus en détail la puissance de Docker Compose, vous pouvez consulter ces tutoriels de notre blog:

Bonne informatique !

author

Hark Labs

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.