Docker : Fonctionnement, avantages, et limitations.

Docker : Fonctionnement,  avantages, et limitations.


Docker est la plateforme de conteneurs la plus populaire et la plus utilisée. dans cette article nous allons découvrir cette solution de containerisation : sa définition, son fonctionnement, ses avantages et inconvénients.

Définition

Docker est une plateforme logicielle open source permettant de créer, de déployer et de gérer des containers d’applications virtualisées sur un système d’exploitation. Les services ou fonctions de l’application et ses différentes bibliothèques, fichiers de configuration, dépendances et autres composants sont regroupés au sein du container. Chaque container exécuté partage les services du système  d’exploitation.

Docker a été crée initialement pour fonctionner avec la plateforme Linux, Maintenant docker désormais avec d’autres OS tels que Microsoft Windows ou Apple macOS.

C’est quoi un conteneur docker ?

Avant de poursuivre avec Docker, vous devez comprendre ce qu’est un conteneur docker (Container en anglais ). Un conteneur est le regroupement d’un logiciel et toutes ses dépendances (librairies, code source, fichiers de configuration…) empaquetés au même endroit.

Les containers sont donc proches des machines virtuelles, mais présentent un avantage important. Alors que la virtualisation consiste à exécuter de nombreux systèmes d’exploitation sur un seul et même système, les conteneurs se partagent le même noyau de système d’exploitation et isolent les processus de l’application du reste du système.

Pour faire simple, le container fait appel directement à l’OS de sa machine hôte pour réaliser ses appels système et exécuter ses applications, d’où son extrême légèreté.

Le fonctionnement de docker

Voici les étapes pour faire fonctionner vos containers docker.

  1. Construction d’image de conteneur : Cela se fait avec une requête de construction d’image est envoyée avec la commande docker build ou une requête d’utilisation d’image existante est envoyée avec la commande docker pull ou docker run.
  2. La deuxième étape consiste à trouver l’image qui va être exécuté ou bien construire l’image.
    • Dans le cas où l’image est non-disponible localement, alors le processus Docker va la trouver en ligne dans le registre configuré qui est par défaut docker hub. Notez bien qu’un registre Docker contient les images pré-construite prêtes à être utilisées.
    • Si l’image est disponible localement, alors on passe ligne à l’étape 3.
    • Dans le cas de la construction, le contexte est envoyé au processus.
  3. Cette étape consiste à la résolution et la vérification de l’image puis son sauvegarde localement, de façon accessible au processus docker.
  4. Lancer docker : La commande docker run  permet de construire un conteneur Docker a partir de l’image crée est de l’exécuter sur l’hôte, indépendamment du système d’exploitation.
Docker

Il y a bien sûr moyen de personnaliser les paramètres d’une image, notamment avec des variables d’environnement, en personnalisant les « Port-Forwarding » ou en personnalisant le réseau de l’image. Docker est donc très flexible et permissible au niveau de la configuration.

Les avantages de docker

Voici la liste des différents avantages de Docker :

  • Flexibilité : Tous les  applications peuvent être transformées en des conteneurs
  • Légèreté : Contrairement à la virtualisation classique, Docker exploite et partage le kernel du système d’exploitation de l’hôte, ce qui le rend très efficace en terme d’utilisation des ressources du système
  • Portabilité : Il est possible de créer, déployer et démarrer des conteneurs sur son ordinateur, celui de ses clients ou un serveur distant
  • Adaptation : L’installation et la désinstallation de conteneurs ne dépend pas des autres conteneurs installés. Ce qui permet de mettre à jour ou remplacer un conteneur sans modifier les autres
  • Scalabilité : Dupliquer un container est extrêmement simple, ce qui permet de réaliser de la scalabilité horizontale aisément
  • Sécurité : Par défaut, Docker crée des conteneurs en appliquant des règles de sécurité strictes et isole les processus.

Limitation de docker

Docker est une technologie très efficace pour la gestion de conteneurs uniques. Cependant, à mesure qu’augmente le nombre de conteneurs et d’applications conteneurisées, la gestion et l’orchestration se complexifient. Au final, vous devez prendre du recul et regrouper plusieurs conteneurs pour assurer la distribution des services vers tous vos conteneurs. C’est précisément à ce niveau qu’intervient la technologie Kubernetes.

Partagez !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *