Introduction à l'architecture Docker

Cette technologie Docker utilise le noyau Linux comme les Cgroups et les espaces de noms pour séparer le processus et les faire fonctionner sans aucune dépendance. Cette fonctionnalité indépendante est celle qui a fait de Docker un succès en exécutant simultanément une instance ou une application individuelle et une meilleure utilisation de l'infrastructure. Les outils Docker et conteneur fournissent un modèle de déploiement basé sur l'image qui facilite le partage d'une application dans plusieurs environnements. Les outils construits au-dessus des conteneurs rendent Docker unique, rapide, flexible, indépendant et convivial. Dans cette rubrique, nous allons découvrir l'architecture Docker.

Qu'est-ce que Docker?

Le mot Docker comprend plusieurs éléments comme les outils d'un projet open-source, le principal partisan du projet et les outils que l'entreprise prend directement en charge. Dans le domaine informatique, le Docker est une technologie de conteneurisation utilisée pour créer et utiliser des conteneurs Linux. La communauté des dockers Open source travaille à améliorer ces technologies pour obtenir plus d'avantages pour les utilisateurs. L'entreprise qui s'appuie sur la communauté Docker la rend plus fiable, sécurisée et facilite et partage la fonctionnalité avancée avec l'entreprise. Avec Docker, il est facile de contrôler les conteneurs comme des machines légères, modulaires et virtuelles et également utilisé pour créer, déployer, copier et déplacer de l'environnement vers l'environnement.

Architecture Docker

Docker Engine est une partie importante du système complet. Docker Engine est un service qui respecte l'infrastructure client-serveur est configuré sur la machine invitée.

Les trois composantes importantes sont

  1. Serveur: Le serveur est le démon docker appelé dockerd qui peut gérer et créer des conteneurs Docker, des images, des réseaux, etc.
  2. API Rest : l' API Rest contrôle le démon Docker sur ses processus
  3. CLI: l' interface de ligne de commande est une interface utilisateur utilisée pour entrer des commandes dans le menu fixe

Client Docker: les utilisateurs de Docker peuvent communiquer avec Docker via l'hôte. Si une commande docker s'exécute, l'hôte les déplace vers le démon docker, qui les supprime. L'API du docker est gérée par les commandes du docker. Le client Docker peut permettre d'interagir avec plusieurs instances.

Docker Registries: Docker hub est le lieu de stockage des images Docker d'un registre public. Il peut être utilisé comme registre de docker privé ou registre de docker public. Les clients peuvent également créer et exécuter leur propre registre privé

Objets Docker

Les clients fonctionnant avec Docker utilisent des volumes, des conteneurs, des images, des réseaux et tous les objets Docker disponibles

1. Images

Les images du docker sont en lecture seule avec des commandes pour concevoir un nouveau conteneur de docker. L'image du docker peut être récupérée à partir d'un hub de docker et utilisée. Il peut ajouter des étapes supplémentaires à la dernière image et concevoir une image docker modifiée. Un client peut créer ses images Docker à l'aide d'un fichier Docker. La première étape consiste à créer un conteneur qui crée un fichier Docker et avec les instructions requises crée sa propre image Docker. Image Docker, un calque inférieur est en lecture seule et le premier calque peut être écrit. Un client peut éditer et modifier uniquement la couche supérieure d'une image Docker.

2. Conteneurs

Le conteneur Docker est créé après l'exécution d'une image Docker. Toutes les instances et applications s'exécutent à l'intérieur du conteneur. Un client peut utiliser Docker API pour supprimer, démarrer ou arrêter le conteneur.

Voici un exemple de commande pour exécuter un conteneur Docker:

docker run -i -t ubuntu / bin / bash

3. Volumes

Les données actuelles exécutées par docker sont utilisées par les conteneurs Docker et enregistrées dans des volumes. L'ensemble du système est contrôlé via l'API si le docker. Volumes appliqués sur les plates-formes Linux et Windows. Au lieu de cela, pour modifier les informations dans une couche modifiable de conteneur, il est préférable d'utiliser des volumes pour écrire le contenu du volume est présent à l'extérieur du conteneur, de sorte qu'il n'affecte pas la taille et les propriétés du conteneur

utilisez l'indicateur -v ou –mount pour lancer un volume dans un conteneur.

Si le client utilise le volume geek avec le conteneur,

docker run -d –name geekflare -v geekvolume: / app nginx: dernier

4. Réseaux

La mise en réseau Docker est un passage de communication pour tous les conteneurs isolés.

Les pilotes réseau dans docker: le pont est le pilote réseau fixe d'un conteneur. les clients occupent ce réseau pour les applications s'exécutant sur des conteneurs autonomes, c'est-à-dire de nombreux conteneurs interagissant avec des hôtes dockers communs. L'hôte est un pilote qui élimine la ségrégation réseau entre les conteneurs Docker et l'hôte Docker.

Superposition: le réseau rend les services d'équipe interagir avec les autres. Ceci n'est appliqué que si le conteneur s'exécute sur plusieurs services d'invité ou d'équipe Docker générés par de nombreuses applications. Un pilote déconnecte toute la mise en réseau est appelé comme un pilote Aucun

Macvlan: le pilote attribue une adresse unique dans MAC à tous les conteneurs pour leur ressembler à des systèmes matériels. Ils contrôlent le trafic entre les conteneurs avec leurs adresses MAC. Le réseau est activé si nécessaire. par exemple, lors de la migration de la configuration d'une machine virtuelle.

Avantages de Docker

Voyons certains des avantages de Docker

  • Retour sur investissement et réduction des coûts: Docker peut réduire les coûts en facilitant les ressources d'infrastructure minimales. Il permet au système d'ingénierie d'être rentable en raison de vastes applications s'exécutant sur une configuration simple
  • Standardisation et productivité: Docker fournit la standardisation en fournissant un développement, un déploiement et des tests continus aux serveurs dans l'environnement de production. Il est rapide ce qui permet de faire des réplications et des redondances.
  • Efficacité du CI: il crée l'image docker et la même est utilisée efficacement pour l'ensemble du processus de déploiement.
  • Compatibilité et maintenabilité: il est plus portable et facile à installer et à déboguer.
  • Simplicité et configurations plus rapides: les données peuvent être créées et détruites en une fraction de secondes dans une plage abordable dans un temps de réponse minimal.
  • Déploiement rapide: il gère le déploiement en quelques secondes pour un large éventail d'environnement
  • Déploiement et test continus: Docker garantit des environnements logiques du développement à la production. Les conteneurs Docker sont configurés pour gérer toutes les configurations et dépendances en interne. Ainsi, le client peut utiliser le même conteneur du développement à la production sans anomalie ni intervention manuelle.

Conclusion - Docker Architecture

Docker prend en charge les plates-formes multi-cloud comme AWS, GCP et permet aux instances de s'exécuter à l'intérieur des instances amazon EC2, des serveurs d'espace rack ou de la boîte virtuelle. Il prend également en charge Microsoft azure, open stack pour gérer le chef, la marionnette et l'ansible. L'avantage d'utiliser Docker est la sécurité. Docker vérifie que les instances exécutées sur des conteneurs sont complètement séparées et isolées les unes des autres, ce qui permet de contrôler le flux et la gestion du trafic. lorsqu'un client exécute une commande Docker Pull ou Docker Run, l'image de docker souhaitée est extraite du registre configuré. Lorsqu'un client exécute une commande push de docker, l'image de docker est stockée dans le registre configuré.

Articles recommandés

Ceci est un guide de l'architecture Docker. Nous discutons ici de l'architecture, des objets et des avantages de Docker avec les pilotes réseau. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Qu'est-ce que Docker Swarm?
  2. Installer Docker
  3. Docker Alternatives
  4. Commandes Docker
  5. Architecture de Docker Swarm

Catégorie: