Docker est une plateforme open source qui permet d'empaqueter une application et toutes ses dépendances dans un conteneur, puis de l'exécuter de façon identique sur un poste de développeur, un serveur ou dans le cloud. Il a été présenté en 2013 par Solomon Hykes, au sein de la société dotCloud.
Le fonctionnement repose sur trois notions. Le Dockerfile décrit, étape par étape, comment construire l'environnement de l'application. L'image est le résultat de cette construction, un modèle figé et partageable via un registre comme Docker Hub. Le conteneur est une image en cours d'exécution, isolée du reste de la machine.
Docker a popularisé les conteneurs auprès de tous les développeurs : il simplifie l'installation d'un projet, garantit la cohérence entre environnements et sert de base aux pipelines CI/CD. Pour faire tourner beaucoup de conteneurs en production, on s'appuie sur un orchestrateur comme Kubernetes. Docker Compose sert, lui, à lancer plusieurs conteneurs ensemble en local.
Pourquoi ça compte quand on recrute
Docker n'est plus une compétence différenciante pour un développeur back-end : c'est un prérequis. Pour un poste DevOps ou Platform, allez plus loin en entretien : optimisation de la taille des images, sécurité (scan de vulnérabilités, utilisateurs non root), gestion des secrets. Le piège : prendre « Docker » sur un CV pour une expérience d'infrastructure en production.
