Formations/Fondations Docker, Compose et Swarm/1.1 Introduction à Docker et son écosystème
Leçon 5m

1.1 Introduction à Docker et son écosystème

Comprendre le fonctionnement de Docker, son écosystème et ses concepts fondamentaux.

Docker est avant tout un système de conteneurisation. Il en existe d'autres (comme Containerd ou Podman), dont le but est de créer une image de votre application avec tous ses outils, de manière pragmatique et compacte. L'objectif ? Pouvoir la lancer ensuite sur n’importe quelle machine, sans prise de tête.

Ça, c'est l'idée de base que tout le monde se fait de Docker. Mais en réalité, le concept va beaucoup plus loin, et c'est ce que nous allons découvrir tout au long de ce cours.

Pour bien comprendre l'écosystème, il faut voir Docker comme une véritable boîte à outils divisée en trois grands piliers :

1. Le Dockerfile : la recette de cuisine

Dans un premier temps, Docker permet de conteneuriser une application de manière simple grâce à un fichier nommé Dockerfile. En y indiquant une suite d’actions étape par étape, vous allez pouvoir empaqueter vos applications (Python, Java, PHP, Go, Ruby... le choix est infini !).

La particularité de Docker

Contrairement à des alternatives comme Podman qui sont daemonless (sans service en tâche de fond), Docker est livré avec un Daemon. C'est ce moteur principal qui tourne sur votre machine et qui permet d'exécuter et de gérer le cycle de vie de tous vos conteneurs.

2. Docker Compose : le chef d'orchestre local

Docker ne vient pas seul, il est accompagné de Docker Compose (souvent illustré par sa fameuse petite pieuvre 🐙). Via un autre fichier de configuration, cet outil permet de lancer plusieurs conteneurs en simultané pour les faire travailler ensemble.

C'est ici qu'on aborde des configurations un peu plus avancées : la gestion des réseaux internes, la persistance des données avec les volumes, ou encore l'ouverture et le mapping des ports. C'est un outil incroyablement puissant pour le développement local, même s'il demande un petit apprentissage supplémentaire par rapport au Docker standard.

3. Docker Swarm : le boss final

Enfin, il y a le boss final : Docker Swarm. Un peu moins connu du grand public aujourd'hui, il reste extrêmement puissant lorsqu’il s’agit d'orchestrer des applications en production.

C'est l'évolution logique de Docker Compose, pensée pour la prod. Swarm se base sur le même type de fichier, mais ajoute des configurations supplémentaires pour gérer la répartition des ressources, le scaling (la mise à l'échelle automatique selon la charge), ou encore les rolling updates (mettre à jour une application sans interruption de service).

Docker n'est pas juste un simple outil pour créer des conteneurs. C'est une plateforme complète qui va étoffer votre puissance de frappe au quotidien et vous offrir une énorme polyvalence pour concevoir et déployer vos infrastructures.