Comment résumer ce qu’est Docker ?

Docker permet d’embarquer une application dans un container virtuel qui pourra s’exécuter sur n’importe quel serveur machine, qu’il soit physique ou virtuel. D’abord optimisé pour Linux, il l’est désormais pour Windows Server. C’est une technologie qui a pour but de faciliter les déploiements d’application, et la gestion du dimensionnement de l’infrastructure sous-jacente. Elle est en partie proposée en open source (sous licence Apache 2.0) par une société américaine, également appelée Docker, qui a été lancée par un Français : Solomon Hykes.

Les avantages des conteneurs Docker

 

Modularité

L’approche de Docker en matière de conteneurisation repose sur la décomposition des applications : c’est-à-dire la capacité de réparer ou de mettre à jour une partie d’une application sans devoir désactiver l’ensemble de cette dernière. En plus de cette approche basée sur les microservices, Docker vous permet de partager des processus entre différentes applications quasiment comme vous le feriez avec une architecture orientée services (SOA).

Couches et contrôle des versions d’image

Chaque fichier image Docker est composé d’une série de couches. Ces couches sont assemblées dans une image unique. Chaque modification de l’image engendre la création d’une couche. Chaque fois qu’un utilisateur exécute une commande, comme run ou copy, une nouvelle couche se crée.

Docker réutilise ces couches pour la construction de nouveaux conteneurs, accélérant ainsi le processus de construction. Les modifications intermédiaires sont partagées entre les images, ce qui optimise la vitesse, la taille et l’efficacité. Qui dit superposition de couches, dit contrôle des versions. À chaque changement, un journal des modifications est mis à jour afin de vous offrir un contrôle total des images de votre conteneur.

Restauration

La fonction la plus intéressante de la superposition de couches est sans doute la restauration. Chaque image est composée de couches. Aussi, si l’itération actuelle d’une image ne vous convient pas, vous pouvez restaurer la version précédente. Cette fonction favorise le développement agile et vous aide à mettre en œuvre les pratiques d’intégration et de distribution continues (CI/CD) au niveau des outils.

Déploiement rapide

Avant, il fallait plusieurs jours pour mettre en place du nouveau matériel, le faire fonctionner, l’approvisionner et le rendre disponible. C’était un processus complexe et fastidieux. Aujourd’hui, avec les conteneurs Docker, vous pouvez effectuer tout cela en quelques secondes seulement. En créant un conteneur pour chaque processus, vous pouvez rapidement partager les processus similaires avec les nouvelles applications. De plus, comme vous n’avez pas besoin de redémarrer le système d’exploitation pour ajouter ou déplacer un conteneur, le délai de déploiement s’en trouve encore réduit. Et ce n’est pas tout. La vitesse du déploiement est telle que vous pouvez vous permettre de créer et de détruire facilement et à moindre coût les données de vos conteneurs, sans aucun problème.

Pour résumer, la technologie Docker propose une approche plus granulaire, contrôlable et basée sur des microservices, qui place l’efficacité au cœur de ses objectifs.