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 officiel | https://www.docker.com/products/docker-engine |
| Licence | Apache 2.0 (Moby), propriétaire pour Docker Desktop |
| Nationalité | États-Unis |
| Type | Runtime de conteneurs complet |
| Déploiement | Docker Engine (open source), Docker Desktop (propriétaire) |
| Difficulté | Facile à intermédiaire |
| Technologies | Go, 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
- Documentation Docker Engine : https://docs.docker.com/engine/
- Docker Hub : https://hub.docker.com/
- Docker Compose : https://docs.docker.com/compose/
- Moby Project (open source) : https://github.com/moby/moby