Docker

Docker est une plateforme permettant de lancer certaines applications dans des conteneurs logiciels. Selon la société de recherche industrielle 451 Research, « Docker est un outil qui regroupe une application et ses dépendances dans un conteneur isolé qui peut s’exécuter sur n’importe quel serveur »

Présentation de Docker

Docker est une plate-forme ouverte pour le développement, la livraison et l’exécution d’applications. Docker vous permet de dissocier votre application de votre infrastructure afin que vous puissiez livrer rapidement des logiciels. Avec Docker, vous pouvez gérer votre infrastructure comme vos applications. En tirant parti de l’approche de Docker pour publier, tester et déployer rapidement du code, vous pouvez réduire considérablement le temps nécessaire pour que votre code soit écrit et exécuté en production.

La plateforme Docker

Docker offre la possibilité de conditionner et d’exécuter des applications dans des environnements vaguement isolés appelés conteneurs. L’isolation et la sécurité vous permettent d’exécuter plusieurs conteneurs simultanément sur un hôte donné. Les conteneurs sont légers et contiennent tout ce dont vous avez besoin pour exécuter votre application, vous n’avez donc pas besoin de vous fier à ce qui est actuellement installé sur l’hôte. Vous pouvez facilement partager des conteneurs pendant que vous travaillez et vous assurer que tous ceux avec qui vous partagez obtiennent le même conteneur qui fonctionne de la même manière.

Docker fournit des outils et une plateforme pour gérer le cycle de vie de vos conteneurs :

  • Développez votre application et ses composants de support à l’aide de conteneurs.
  • Le conteneur devient l’unité de distribution et de test de votre application.
  • Lorsque vous êtes prêt, déployez votre application en production en tant que conteneur ou service orchestré. Cela fonctionne de la même manière, que votre environnement de production soit un centre de données sur site, un fournisseur de cloud ou une combinaison des deux.

Pourquoi puis-je utiliser Docker ?

Docker simplifie le cycle de vie du développement en permettant aux développeurs de travailler dans un environnement standardisé à l’aide de conteneurs natifs qui fournissent vos applications et services. Les conteneurs sont idéaux pour les workflows d’intégration continue et de livraison continue (CI/CD).

Considérez l’exemple de scénario suivant :

  • Vos développeurs codent localement et partagent leur travail avec des collègues à l’aide de conteneurs Docker.
  • Ils utilisent Docker pour pousser leurs applications vers des environnements de test et exécuter des tests automatisés et manuels.
  • Lorsque les développeurs trouvent des bogues, ils peuvent être corrigés dans l’environnement de développement et redéployés dans l’environnement de test pour les tests et la vérification.
  • Une fois les tests terminés, les correctifs sont mis à la disposition des clients simplement en poussant l’image mise à jour en production.

La plate-forme basée sur des conteneurs de Docker prend en charge des charges de travail hautement portables. Les conteneurs Docker peuvent s’exécuter sur l’ordinateur portable local d’un développeur, une machine physique ou virtuelle dans un centre de données, un fournisseur de cloud ou un environnement hybride.

La portabilité et la légèreté de Docker facilitent également la gestion dynamique des charges de travail, en ajoutant ou en supprimant des applications et des services en temps quasi réel à mesure que les besoins de l’entreprise évoluent.

Docker est léger et rapide. Il offre une alternative viable et rentable aux machines virtuelles basées sur un hyperviseur, vous permettant d’utiliser plus de puissance de calcul pour atteindre vos objectifs commerciaux. Docker est idéal pour les environnements à haute densité et les déploiements de petite à moyenne taille qui doivent faire plus avec moins.

Architecture Docker

Docker utilise une architecture client-serveur. Le client Docker communique avec le démon Docker, qui effectue le gros du travail de création, d’exécution et de distribution des conteneurs Docker. Le client et le démon Docker peuvent s’exécuter sur le même système, ou vous pouvez connecter le client Docker à un démon Docker distant. Les clients et le démon Docker communiquent à l’aide d’API REST, de sockets UNIX ou d’interfaces réseau. Un autre client Docker est Docker Compose, qui permet d’utiliser une application composée d’un ensemble de conteneurs.

Le démon Docker

Le démon Docker ( dockerd ) écoute les requêtes de l’API Docker et gère les objets Docker tels que les images, les conteneurs, les réseaux et les volumes. Les démons peuvent également communiquer avec d’autres démons pour gérer les services Docker.

Le client Docker

Le client Docker (docker) est le principal moyen utilisé par de nombreux utilisateurs Docker pour interagir avec Docker. Lorsque vous utilisez des commandes telles que docker run, le client envoie ces commandes à dockerd où elles sont exécutées. La commande docker utilise l’API Docker. Le client Docker peut communiquer avec plusieurs démons.

Bureau Docker

Docker Desktop est une application facile à installer sur votre environnement Mac, Windows ou Linux qui vous permet de créer et de partager des applications et des microservices conteneurisés. Docker Desktop inclut le démon Docker (dockerd), le client Docker (docker), Docker Compose, Docker Content Trust, Kubernetes et Credential Helper.

Registres Docker

Le registre Docker stocke les images Docker. Docker Hub est un registre public que tout le monde peut utiliser, et Docker est configuré par défaut pour rechercher des images sur Docker Hub. Vous pouvez même exécuter votre propre registre privé.

Lorsque vous utilisez les commandes docker pull ou docker run, les images souhaitées seront extraites du registre que vous avez configuré. Lorsque vous utilisez la commande docker push, votre image est poussée vers votre registre configuré.

Objets Docker

Lorsque vous utilisez Docker, vous pouvez créer et utiliser des images, des conteneurs, des réseaux, des volumes, des plug-ins et d’autres objets. Cette section donne un bref aperçu de certains de ces objets.

La technologie sous-jacente

Docker est écrit dans le langage de programmation Go et exploite plusieurs fonctionnalités du noyau Linux pour fournir ses fonctionnalités. Docker utilise une technologie appelée espaces de noms pour fournir des espaces de travail isolés appelés conteneurs. Lorsque vous exécutez un conteneur, Docker crée un ensemble d’espaces de noms pour ce conteneur.

Ces espaces de noms fournissent une couche d’isolation. Chaque aspect d’un conteneur s’exécute dans un espace de noms distinct et son accès est limité à cet espace de noms.

En savoir plus sur l’installation de Docker

Sur cette partie j’ai préféré de vous faire une vidéo explicative;

Avoir Docker

Docker est une plate-forme ouverte pour le développement, la livraison et l’exécution d’applications. Docker vous permet de séparer les applications de l’infrastructure afin que vous puissiez fournir rapidement des logiciels. Avec Docker, vous pouvez gérer votre infrastructure comme vos applications. En tirant parti de l’approche de Docker pour publier, tester et déployer rapidement du code, vous pouvez réduire considérablement le temps nécessaire pour que votre code soit écrit et exécuté en production.

Lien pour télécharger Docker ici

1 réflexion au sujet de « Docker »

Laisser un commentaire