Définitions
Pour les passionnés…

Docker

C’est quoi Docker ?

Docker est une plateforme de conteneurisation open source qui permet de créer, déployer et gérer des applications virtualisées dans des conteneurs. Les conteneurs logiciels sont une forme de virtualisation légère qui offre une isolation pour les applications, rendant leur déploiement plus rapide et plus efficace par rapport aux machines virtuelles traditionnelles.

La technologie de Docker repose sur des concepts de l’architecture Linux, notamment les Cgroups et les espaces de noms (namespaces), permettant ainsi de gérer les ressources système (processeur, mémoire, E/S) de façon isolée. Les applications tournent dans un environnement contenant tout le nécessaire pour leur exécution, ce qui élimine les problèmes liés aux dépendances et configurations spécifiques au système hôte.

Les composants clés de Docker :

  • Images Docker : Les templates (ou modèles) immutables qui contiennent l’application et toutes les dépendances nécessaires à son exécution.
  • Conteneurs Docker : Des instances exécutables d’images Docker qui s’exécutent de manière isolée et peuvent être démarrées, arrêtées, déplacées et supprimées.
  • Docker Hub : Un registre public pour partager et stocker les images Docker, à la manière d’un GitHub pour les images de conteneurs.
  • Docker Compose : Un outil permettant de définir et de gérer des applications multi-conteneurs avec des fichiers YAML simples.

Docker est largement utilisé dans le monde du développement logiciel, notamment pour faciliter l’intégration continue et la livraison continue (CI/CD). Grâce à sa capacité à minimiser les incohérences entre les environnements de développement, de test et de production, Docker est devenu essentiel pour les pratiques de DevOps et la mise en place de microservices.