Aller au contenu

Docker Engine

À quoi il sert

Docker Engine construit des images de conteneurs, les télécharge et les publie dans des registres, et exécute des conteneurs sur un hôte Linux. Il se compose du client docker, du démon dockerd, de containerd et de runc. Les images qu'il produit suivent le standard OCI et s'exécutent partout ailleurs (Podman, Kubernetes).

Quand le choisir

  • Pour développer et tester localement des applications conteneurisées.
  • Pour construire des images dans une chaîne d'intégration continue.
  • Pour héberger une application simple sur un serveur unique, avec Docker Compose.

Quand en choisir un autre

BesoinAlternative
Pas de démon root, compatibilité avec les outils Red HatPodman
Exécution sur un cluster, haute disponibilitéKubernetes (avec containerd ou CRI-O)
Poste de travail macOS ou Windows dans une grande organisation ou une administrationPodman Desktop, Rancher Desktop, Colima (Docker Desktop y est payant)
Construction d'images sans démon privilégié en CIBuildKit rootless, Buildah, Kaniko

Points d'attention

  • L'accès au socket Docker (groupe docker) équivaut à un accès root sur l'hôte.
  • Les ports publiés contournent le pare-feu UFW.
  • Les journaux des conteneurs ne sont pas limités par défaut : configurez la rotation dans daemon.json.

Par où commencer

Le cours Docker : les fondamentaux, puis Construire des images de conteneurs.