Docker est la plateforme de containers la plus populaire et la plus utilisée dans le monde. En clair, c’est un outil conçu pour faciliter la création, le déploiement et l’exécution d’applications à l’aide de ce qu’on appelle des containers.
Les containers représentent 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, libraries et paramètres. En d’autres termes, c’est une boîte complètement isolée du système d’exploitation contenant l’application en elle-même ainsi que tous les autres éléments dont elle a besoin pour fonctionner.
Vous l’aurez compris, d’une certaine manière, Docker est un peu comme une machine virtuelle. Mais contrairement à cette dernière, plutôt que de créer un système d’exploitation virtuel complet, Docker permet aux applications d’utiliser le même noyau Linux que le système sur lequel elles s’exécutent.
Docker est un outil conçu pour bénéficier à la fois aux développeurs mais aussi aux administrateurs système.
Pour les développeurs, Docker intervient principalement au niveau de l’écriture de code. En effet, il leur permet d’exécuter cette tâche sans se soucier du système sur lequel il fonctionnera à la finalité. De plus, il est possible d’obtenir une réelle longueur d’avance en utilisant l’un des milliers de programmes déjà conçus pour s’exécuter dans le cadre de leur application.
Enfin, pour le personnel d’exploitation, Docker offre de la flexibilité et réduit potentiellement le nombre de systèmes nécessaires en raison de son faible encombrement et de ses frais généraux relativement réduits.
Cet outil apporte de nombreux avantages aux équipes techniques chargées d’un projet digital. Voici une liste de ses bénéfices :
Cependant, faites attention à ne pas créer trop de containers. Cela pourrait rendre la gestion de ces derniers un peu trop complexe et amener à une désorganisation.
L’outil Docker utilise la technologie Linux pour que tous les processus soient indépendants. Cela signifie que même si plusieurs applications sont sur le même système d’exploitation mais qu’elles sont chacune dans un container différent, alors elles pourront être gérées séparément en fonction de leurs besoins.
Docker permet la prise en charge des containers sur Windows et MacOS. Vous verrez que cette plateforme est découpée en différentes parties :
En règle générale, cet outil fonctionne principalement avec Docker Daemon et Docker Client.
Lorsque vous allez lancer un conteneur, il va falloir le baser sur une image que vous allez créer ou déjà existante dans Docker. Il faut considérer les images comme des templates que vous pouvez utiliser pour créer vos propres conteneurs.
Lorsque vous allez ensuite lancer votre conteneur, celui-ci va arriver avec une série de librairies et d’autres fichiers déjà conçus.
Vous pourrez apporter autant de modifications que vous le souhaitez à vos conteneurs sans que celà ait un impact si vous supprimez le fichier car comme le conteneur est basé sur une image, les modifications peuvent ne pas être persistantes. Toutefois, elles pourront être enregistrées si vous le voulez.
Si vous souhaitez avoir plus de détails sur le fonctionnement de Docker et les différentes lignes de commande, nous vous invitons à regarder ces vidéos :