Aller au contenu principal

Docker Engine

Overview

Docker Engine est le runtime de conteneurs qui a popularisé la conteneurisation moderne. Lancé en 2013, il a transformé la façon dont les applications sont développées et déployées en standardisant le format d'images et en proposant un écosystème complet. Docker Engine inclut un runtime (initialement basé sur LXC, puis libcontainer/runC), un moteur de build d'images, un daemon centralisé, et des outils CLI.

Bien que toujours largement utilisé, Docker Engine est progressivement remplacé par containerd dans les environnements Kubernetes modernes, car Kubernetes préfère les runtimes conformes à CRI (Container Runtime Interface). Docker Engine reste néanmoins la référence pour le développement local et les environnements non-Kubernetes.


Informations essentielles

PropriétéValeur
Site officielhttps://www.docker.com/products/docker-engine
LicenceApache 2.0 (Moby), propriétaire pour Docker Desktop
NationalitéÉtats-Unis
TypeRuntime de conteneurs complet
DéploiementDocker Engine (open source), Docker Desktop (propriétaire)
DifficultéFacile à intermédiaire
TechnologiesGo, containerd (runtime moderne)

TL;DR

Docker Engine est idéal pour le développement local, l'apprentissage de la conteneurisation, et les environnements où Kubernetes n'est pas utilisé. Il offre une expérience utilisateur complète avec des outils matures et une large communauté.

Points clés à retenir :

  • Suite complète : runtime, build, registry, networking, CLI
  • Très large adoption et écosystème
  • Facile à prendre en main pour débuter
  • Moins recommandé pour Kubernetes (remplacement par containerd en cours)
  • Docker Desktop nécessite une licence pour usage commercial en entreprise

Compatibilité et intégrations

  • Compatible avec les images OCI standard
  • Supporte Docker Compose pour orchestrer plusieurs conteneurs
  • Intégration avec Docker Hub et autres registries
  • Compatible CRI via dockershim (déprécié dans Kubernetes 1.24+)
  • Supporte les plugins de réseau et de volume

Avantages

  • Écosystème mature et très large communauté
  • Outils CLI intuitifs et bien documentés
  • Docker Compose pour orchestrer des applications multi-conteneurs
  • Large choix de registries et d'images pré-construites
  • Excellent pour le développement local et l'apprentissage

Limites

  • Docker Engine n'est plus recommandé pour Kubernetes (dockershim déprécié)
  • Docker Desktop nécessite une licence payante pour usage commercial
  • Architecture avec daemon centralisé (point de défaillance potentiel)
  • Consommation de ressources plus élevée que containerd/cri-o
  • Moins adapté aux environnements contraints (edge, IoT)

Ressources