Aller au contenu

Introduction à Docker

Docker est une plateforme de conteneurisation qui permet de construire, distribuer et exécuter des applications dans des containers de manière standardisée.

Cette page présente Docker dans son ensemble : son rôle, son fonctionnement général et sa place dans les infrastructures modernes.


Qu'est-ce que Docker ?

Docker est un ensemble d'outils qui simplifie l'utilisation des containers sur un système Linux (et, par extension, sur d'autres plateformes).

Il fournit :

  • un format d'image standard
  • un moteur d'exécution de containers
  • une interface en ligne de commande cohérente
  • un écosystème largement adopté

Docker ne crée pas le concept de container, mais en a facilité l'adoption à grande échelle.

Note

Docker repose sur des mécanismes du noyau Linux. Sur les systèmes non Linux, une couche de virtualisation est utilisée pour fournir ces fonctionnalités.


Pourquoi Docker est devenu une référence

Docker s'est imposé pour plusieurs raisons :

  • simplicité de prise en main
  • standardisation des images
  • large écosystème d'outils et de registries
  • adoption massive par les communautés et les entreprises
  • intégration naturelle avec les outils CI/CD

Aujourd'hui encore, Docker est souvent le point d'entrée vers la conteneurisation.


Architecture générale de Docker

Docker repose sur une architecture client-serveur.

Docker Engine

Le Docker Engine est le composant central. Il est responsable de :

  • la gestion des images
  • la création et l'exécution des containers
  • la gestion des volumes et des réseaux

Il s'exécute sous forme de service sur le système hôte.


Docker CLI

Le Docker CLI est l'interface utilisée par l'utilisateur.

Exemples de commandes courantes :

  • docker run
  • docker ps
  • docker images
  • docker build

Le CLI communique avec le Docker Engine via une API.

Info

Le client Docker peut interagir avec un moteur distant, ce qui permet de gérer des containers sur d'autres hôtes.


Images et containers avec Docker

Avec Docker :

  • une image est construite à partir d'un Dockerfile
  • un container est une instance d'exécution d'une image

Une même image peut être utilisée pour lancer plusieurs containers, chacun isolé des autres.

Warning

Les containers Docker sont éphémères par conception. Toute donnée devant persister doit être stockée en dehors du container.


Cas d'usage courants de Docker

Docker est utilisé dans de nombreux contextes :

  • exécution d'applications sans installation complexe
  • environnements de développement reproductibles
  • tests automatisés
  • packaging d'applications
  • déploiements simples en production

Docker peut être utilisé avec ou sans orchestrateur, selon les besoins.


Docker et Kubernetes

Docker est souvent associé à Kubernetes, mais il peut être utilisé indépendamment.

  • Docker gère l'exécution locale des containers
  • Kubernetes orchestre des containers à grande échelle

Note

Comprendre Docker est un prérequis solide avant d'aborder Kubernetes.


Limites à connaître

Docker présente certaines limites :

  • démon central exécuté avec des privilèges élevés
  • gestion de la sécurité dépendante de la configuration
  • modèle moins adapté aux environnements strictement rootless

Ces points expliquent l'émergence d'alternatives comme Podman, abordées plus loin dans cette documentation.


Et après cette introduction ?

Les pages suivantes se concentreront sur l'utilisation concrète de Docker :

  • installation
  • premières commandes
  • gestion des images et des containers
  • volumes et réseaux
  • bonnes pratiques d'exploitation

L'objectif est de rendre l'utilisation de Docker maîtrisée et consciente, y compris en contexte professionnel.