📚 Docker pour les débutants : Le Chantier Naval

1.1 : Docker, c’est quoi ? (L’analogie du container vs le vrac).

📄 Article ⏱ 5 ✅ Gratuit

L’analogie du container vs le vrac

Quand on installe une application sur un serveur, on rencontre très souvent le même problème.
Sur l’ordinateur du développeur tout fonctionne parfaitement, mais dès que l’on déploie l’application ailleurs, quelque chose casse.

C’est la fameuse phrase que tous les administrateurs système ont déjà entendue :

« Chez moi ça marche. »

En réalité, ce problème vient rarement du code lui-même. La plupart du temps, c’est l’environnement qui est différent : la version de PHP n’est pas la même, une bibliothèque manque, ou une configuration n’est pas identique.

Pendant longtemps, les applications ont été installées directement sur les serveurs. Toutes les dépendances se retrouvaient mélangées sur la même machine : plusieurs versions de langages, différentes bibliothèques et de nombreuses configurations. Au fil du temps, cela devenait difficile à maintenir et la moindre modification pouvait casser autre chose.

C’est un peu comme dans un entrepôt où toutes les marchandises seraient stockées en vrac. Tout finit par se mélanger et il devient compliqué de retrouver ce que l’on cherche.

Docker apporte une solution très simple à ce problème : mettre chaque application dans un conteneur isolé.

L’idée vient directement du transport maritime. Avant l’arrivée des conteneurs, les marchandises étaient chargées dans les bateaux de manière désorganisée. Aujourd’hui, tout est placé dans des containers standardisés. Peu importe le contenu, chaque boîte a la même forme et peut être déplacée facilement d’un camion à un bateau ou à un train.

Docker applique exactement le même principe aux applications.

Au lieu d’installer un logiciel directement sur le serveur, on le place dans un conteneur qui contient tout ce dont il a besoin pour fonctionner : le programme, ses dépendances et sa configuration. Ce conteneur peut ensuite être lancé sur n’importe quelle machine disposant de Docker, et le résultat sera toujours le même.

C’est ce qui permet de dire qu’une application Docker fonctionne de la même façon partout : sur un ordinateur de développeur, sur un serveur ou dans le cloud.

Par exemple, avec une simple commande :

docker run nginx

Docker télécharge automatiquement l’image nécessaire et démarre un serveur web en quelques secondes, sans avoir besoin d’installer Nginx sur la machine.

Docker ne remplace pas les applications ni les serveurs. Il change simplement la manière de les empaqueter et de les exécuter. Chaque application devient une sorte de boîte autonome, facile à transporter, à démarrer et à supprimer.

C’est cette approche qui explique pourquoi Docker est devenu aujourd’hui un outil incontournable dans le monde du développement et de l’administration système.