Accueil > Dossiers > Docker : tout savoir sur la plateforme de containérisation
docker tout savoir

Docker : tout savoir sur la plateforme de containérisation

Docker est la plateforme de containers la plus populaire et la plus utilisée. Découvrez tout ce que vous devez savoir sur cette solution de containerisation : sa définition, son fonctionnement, ses avantages et inconvénients, ou encore quels sont ses principaux concurrents.

Les machines virtuelles (VM) sont de plus en plus utilisées par les entreprises. Une VM est un environnement de système d’exploitation ou d’application installé sur logiciel. Elle permet à l’utilisateur de profiter de la même expérience que sur une machine physique, avec plusieurs avantages.

Il est notamment possible de lancer plusieurs environnements d’OS sur la même machine, en les isolant les uns des autres. De même, la virtualisation permet de réduire les coûts au sein d’une entreprise en diminuant le nombre de machines virtuelles nécessaires. Les besoins en énergie s’en trouvent aussi atténués. Les backups et les restaurations s’en trouvent aussi simplifiés.

Cependant, les hyperviseurs de machines virtuelles reposent sur une émulation du hardware, et requièrent donc beaucoup de puissance de calcul. Pour remédier à ce problème, de nombreuses firmes se tournent vers les containers, et par extension vers Docker.

Qu’est-ce qu’un container ?

container définition

Avant d’aborder Docker, il est indispensable de rappeler ce qu’est une image container. Il s’agit d’un ensemble de processus logiciels léger et indépendant, regroupant tous les fichiers nécessaires à l’exécution des processus : code, runtime, outils système, bibliothèque et paramètres. Ils peuvent être utilisés pour exécuter des applications Linux ou Windows.

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 containers 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, plutôt que de virtualiser le hardware comme l’hyperviseur, le container virtualise le système d’exploitation. Il est donc nettement plus efficient qu’un hyperviseur en termes de consommation des ressources système. Concrètement, il est possible d’exécuter près de 4 à 6 fois plus d’instances d’applications avec un container qu’avec des machines virtuelles comme Xen ou KVM sur le même hardware.

Docker : qu’est-ce que c’est ?

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.

Initialement créé pour fonctionner avec la plateforme Linux, Docker fonctionne désormais avec d’autres OS tels que Microsoft Windows ou Apple macOS. On compte également des versions de Docker conçues pour Amazon Web Services et Microsoft Azure.

Docker : quelles sont les fonctionnalités ?

La plateforme Docker repose sur sept composants principaux. Le Docker Engine est un outil client-serveur sur lequel repose la technologie de container pour prendre en charge les tâches de création d’applications basées container. Le moteur crée un processus daemon server-side permettant d’héberger les images, les containers, les réseaux et les volumes de stockage. Ce daemon fournit aussi une interface SLI client-side permettant aux utilisateurs d’interagir avec le daemon via l’API Docker.

Les containers créés par Docker sont appelés Dockerfiles. Le composant Docker Compose permet de définir la composition des composants au sein d’un container Docker. Le Docker Hub est un outil SaaS permettant aux utilisateurs de publier et de partager des applications basées container via une bibliothèque commune.

Le mode Docker Swarm du Docker Engine prend en charge l’équilibrage des charges des clusters pour Docker. Ainsi, les ressources de plusieurs hôtes Docker peuvent être rassemblées pour agir comme une seul ensemble. Ainsi, les utilisateurs peuvent rapidement échelonner le déploiement de containers.

Docker : quels sont les avantages et les inconvénients ?

docker avantages

La plateforme Docker présente de nombreux avantages. Elle permet de composer, de créer, de déployer et d’échelonner rapidement des containers sur les hôtes Docker. Elle offre aussi un haut degré de portabilité, ce qui permet aux utilisateurs de s’enregistrer et de partager des containers sur une large variété d’hôtes au sein d’environnements publics et privés.

Par rapport aux machines virtuelles, Docker présente également plusieurs avantages. Elle permet de développer des applications de façon plus efficiente, en utilisant moins de ressources, et de déployer ces applications plus rapidement.

Cependant, Docker présente aussi plusieurs inconvénients. Il peut être difficile de gérer de façon efficiente un grand nombre de containers simultanément. De plus, la sécurité être un problème. Les containers sont isolés, mais partagent le même système d’exploitation. De fait, une attaque ou une faille de sécurité sur l’OS peut compromettre tous les containers. Pour minimiser ce risque, certaines entreprises exécutent leurs containers au sein d’une machine virtuelle.

Docker : quelles sont les alternatives ?

Docker n’est pas la seule plateforme de container sur le marché, mais elle demeure la plus utilisée. Son principal concurrent est CoreOS rkt. Cet outil est principalement réputé pour sa sécurité, avec notamment le support de SELinux. Parmi les autres plateformes majeures, on compte Canonical LXD, ou encore Virtuozzo OpenVZ, la plus ancienne plateforme de container.

On peut aussi évoquer l’écosystème d’outils qui fonctionnent avec Docker pour des tâches telles que le clustering ou la gestion de containers. On peut citer comme exemple Kubernetes, l’outil de Container Orchestration open source créé par Google.

coreos rkt

Docker : les chiffres du succès

La version 1.0 de Docker fut lancée en juin 2014, dans le but de faciliter l’utilisation des containers. Très rapidement, la plateforme a rencontré un franc succès auprès de nombreuses entreprises. Aujourd’hui, selon les créateurs de Docker, plus de 3,5 millions d’applications ont été containerisées en utilisant cette technologie, et plus de 37 milliards d’applications containerisées ont été téléchargées.

De même, d’après le système de monitoring cloud DataDog, 18,8% des utilisateurs avaient adopté Docker en 2017. De son côté, RightScale estime que l’adoption de Docker dans l’industrie du Cloud a augmenté de 35% en 2017 à 49% en 2018. Des géants comme Oracle et Microsoft l’ont adopté, au même titre que presque toutes les entreprises du Cloud.

Selon de 451 Research, l’essor de Docker n’est pas près de s’arrêter. Ces analystes estiment que le marché des containers va littéralement exploser d’ici 2021. Les revenus seront multipliés par 4 avec un taux de croissance annuel de 35%, passant de 749 millions de dollars en 2016 à 3,4 milliards de dollars en 2021.

Laisser un commentaire

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

#topcontrol { bottom: 75px;

Send this to a friend