Docker pour les devs - 33 - Glossaire Docker de A a Z

Tous les termes Docker de la serie, définis simplement avec des liens vers les articles correspondants.

  1. 01 Docker pour les devs - 00 - Pourquoi Docker change tout
  2. 02 Docker pour les devs - 01 - Containers vs VMs
  3. 03 Docker pour les devs - 02 - L'architecture de Docker
  4. 04 Docker pour les devs - 03 - Docker Desktop, Engine et alternatives
  5. 05 Docker pour les devs - 04 - Écrire un Dockerfile
  6. 06 Docker pour les devs - 05 - Layers et cache
  7. 07 Docker pour les devs - 06 - Le .dockerignore
  8. 08 Docker pour les devs - 07 - Multi-stage builds
  9. 09 Docker pour les devs - 08 - Choisir son image de base
  10. 10 Docker pour les devs - 09 - Docker Compose, les bases
  11. 11 Docker pour les devs - 10 - Docker Compose avance
  12. 12 Docker pour les devs - 11 - Networking Docker, les bases
  13. 13 Docker pour les devs - 12 - Networking Docker avance
  14. 14 Docker pour les devs - 13 - Volumes et persistance
  15. 15 Docker pour les devs - 14 - Variables d'environnement et secrets
  16. 16 Docker pour les devs - 15 - Permissions et utilisateurs
  17. 17 Docker pour les devs - 16 - Docker et monorepo
  18. 18 Docker pour les devs - 17 - Dev vs Prod
  19. 19 Docker pour les devs - 18 - ENTRYPOINT, CMD et scripts d'initialisation
  20. 20 Docker pour les devs - 19 - Debugger ses conteneurs
  21. 21 Docker pour les devs - 20 - Bases de donnees dans Docker
  22. 22 Docker pour les devs - 21 - Sauvegardes et restauration
  23. 23 Docker pour les devs - 22 - Conteneuriser un frontend
  24. 24 Docker pour les devs - 23 - Sécurité des conteneurs
  25. 25 Docker pour les devs - 24 - Optimisation des images
  26. 26 Docker pour les devs - 25 - Builds multi-platform
  27. 27 Docker pour les devs - 26 - Limiter les ressources de tes conteneurs
  28. 28 Docker pour les devs - 27 - Gerer les logs comme un adulte
  29. 29 Docker pour les devs - 28 - Healthchecks et restart policies
  30. 30 Docker pour les devs - 29 - Nettoyer Docker avant qu'il mange ton disque
  31. 31 Docker pour les devs - 30 - Registries et stratégie de tags
  32. 32 Docker pour les devs - 31 - Docker en CI/CD
  33. 33 Docker pour les devs - 32 - Au-dela de Compose
  34. 34 Docker pour les devs - 33 - Glossaire Docker de A a Z

33 - Glossaire Docker de A a Z

Ce que tu vas apprendre

  • La définition de chaque terme Docker rencontre dans cette serie
  • Ou retrouver l'article qui traite le sujet en détail

Prerequisites

Aucun. Ce glossaire est fait pour etre consulte a tout moment.


Trente-trois articles, ca fait beaucoup de vocabulaire. Ce glossaire rassemble tous les termes Docker qu'on a croises dans la serie. Chaque définition tient en une ou deux phrases. Les liens renvoient vers l'article qui traite le sujet en profondeur.

Je te conseille de mettre cette page en favori. Tu y reviendras plus souvent que tu ne le crois.

A

Alpine Linux : distribution Linux minimaliste (~5 Mo) souvent utilisee comme image de base Docker. Legere mais utilise musl au lieu de glibc, ce qui peut causer des incompatibilites. Voir images de base.

ARG : instruction Dockerfile qui definit une variable disponible uniquement au moment du build. Contrairement a ENV, elle n'est pas presente dans le conteneur final. Voir build args et secrets.

B

Bind mount : montage d'un répertoire de la machine hote dans un conteneur. Le conteneur voit les fichiers du hote en temps réel. Pratique en dev, a éviter en prod. Voir volumes.

Bridge network : réseau Docker par défaut. Chaque conteneur sur un bridge peut communiquer avec les autres via leur nom. Voir networking.

Build cache : mecanisme qui réutilisé les layers inchangees lors d'un build pour accélérer les reconstructions. L'ordre des instructions dans le Dockerfile influence directement l'efficacite du cache. Voir layers et cache.

Build context : ensemble des fichiers envoyes au daemon Docker lors d'un docker build. Contrôle par .dockerignore. Un context trop large ralentit le build. Voir .dockerignore.

BuildKit : le builder moderne de Docker, active par défaut depuis Docker 23. Il apporte le parallélisme, le montage de secrets, et un cache plus intelligent. Voir BuildKit.

buildx : plugin CLI Docker qui etend les commandes de build. Permet les builds multi-platform et l'utilisation de drivers de build avances. Voir multi-platform.

C

cgroup (control group) : mecanisme du kernel Linux qui limite et comptabilise les ressources (CPU, mémoire, I/O) d'un groupe de processus. C'est ce qui permet a Docker de poser des limites de ressources.

CMD : instruction Dockerfile qui definit la commande par défaut exécutée au démarrage du conteneur. Peut etre surchargee a l'exécution. Voir Dockerfile.

Compose (Docker Compose) : outil qui permet de définir et lancer des applications multi-conteneurs à partir d'un fichier compose.yml. Voir Compose bases et Compose avance.

Conteneur (container) : instance en cours d'exécution d'une image Docker. Isole du système hote via les namespaces et cgroups du kernel Linux. Voir containers vs VMs.

COPY : instruction Dockerfile qui copie des fichiers du build context dans l'image. Preferee a ADD dans la plupart des cas. Voir Dockerfile.

D

Daemon (dockerd) : processus en arriere-plan qui gere les images, conteneurs, volumes et réseaux Docker. Le client CLI communique avec le daemon via une API REST. Voir architecture.

Dangling image : image sans tag, généralement créée quand on rebuild une image avec un tag existant. L'ancienne version perd son tag et devient <none>:<none>. Voir nettoyage.

Distroless : images Google qui ne contiennent que l'application et ses dépendances runtime. Pas de shell, pas de package manager. Surface d'attaque minimale. Voir images de base.

Dockerfile : fichier texte contenant les instructions pour construire une image Docker. Chaque instruction créé une layer. Voir Dockerfile.

Docker Desktop : application graphique pour Mac et Windows qui inclut le daemon Docker, Compose, et une interface de gestion. Voir Desktop et Engine.

Docker Hub : registry public par défaut de Docker. Heberge les images officielles et les images communautaires. Voir registries.

E

ENTRYPOINT : instruction Dockerfile qui definit l'executable principal du conteneur. Contrairement a CMD, elle n'est pas facilement surchargeable. ENTRYPOINT + CMD sont souvent combines. Voir Dockerfile.

ENV : instruction Dockerfile qui definit une variable d'environnement persistante dans l'image et le conteneur. Voir variables d'environnement.

exec : commande docker exec qui lance un processus supplementaire dans un conteneur en cours d'exécution. Typiquement docker exec -it mon-conteneur sh. Voir exec et attach.

F

FROM : première instruction d'un Dockerfile (ou d'un stage). Definit l'image de base à partir de laquelle on construit. Voir Dockerfile.

H

Healthcheck : commande exécutée periodiquement par Docker pour vérifier que l'application dans un conteneur fonctionne. Un conteneur peut etre healthy, unhealthy ou starting. Voir healthchecks.

I

Image : modèle en lecture seule compose de layers empilees. Un conteneur est une instance d'une image. Voir architecture.

L

latest : tag par défaut applique a une image quand aucun tag n'est specifie. Mutable et source de confusion en production. Voir registries.

Layer (couche) : chaque instruction d'un Dockerfile créé une layer. Les layers sont empilees et partagees entre images pour economiser de l'espace. Voir layers et cache.

Logging driver : composant Docker qui déterminé comment les logs stdout/stderr d'un conteneur sont stockes. Le défaut est json-file. Voir logs.

M

Multi-stage build : technique Dockerfile utilisant plusieurs FROM pour séparer les étapes de build et de production. Reduit drastiquement la taille des images. Voir multi-stage.

N

Named volume : volume Docker gere par le daemon, identifié par un nom plutot qu'un chemin hote. Les donnees persistent indépendamment du cycle de vie des conteneurs. Voir volumes.

Namespace : mecanisme du kernel Linux qui isole les ressources système (PID, réseau, filesystem, utilisateurs) entre les conteneurs. C'est la base de l'isolation Docker. Voir containers vs VMs.

Network : réseau virtuel Docker permettant aux conteneurs de communiquer. Types principaux : bridge, host, overlay, none. Voir networking.

O

OCI (Open Container Initiative) : standard ouvert pour le format des images et le runtime des conteneurs. Docker, Podman et containerd sont tous compatibles OCI. Voir architecture.

OOM killer (Out Of Memory killer) : mecanisme du kernel Linux qui tue un processus quand la mémoire est epuisee. Un conteneur avec une limite mémoire peut etre tue par l'OOM killer (exit code 137). Voir ressources.

Overlay network : réseau Docker qui fonctionne entre plusieurs hotes. Utilise par Swarm et Kubernetes pour que les conteneurs sur des machines différentes communiquent. Voir networking.

P

Platform : architecture CPU ciblee par une image (ex: linux/amd64, linux/arm64). Les builds multi-platform creent des images pour plusieurs architectures. Voir multi-platform.

Port mapping : redirection d'un port de la machine hote vers un port du conteneur. Notation -p 8080:3000 (hote:conteneur). Voir Compose bases.

Prune : ensemble de commandes Docker pour supprimer les objets inutilises (images, conteneurs, volumes, cache). Voir nettoyage.

R

Registry : serveur qui stocke et distribue des images Docker. Docker Hub est le registry par défaut. GHCR, ECR, et les registries self-hosted sont des alternatives. Voir registries.

Restart policy : politique definissant si et quand Docker doit relancer un conteneur arrêté. Options : no, always, unless-stopped, on-failure. Voir healthchecks.

Rootless : mode d'exécution de Docker sans privileges root. Reduit la surface d'attaque. Voir rootless et non-root.

RUN : instruction Dockerfile qui exécuté une commande pendant le build et en sauvegarde le résultat dans une nouvelle layer. Voir Dockerfile.

S

Secret : mecanisme Docker pour passer des donnees sensibles aux conteneurs ou au build sans les exposer dans les layers. Voir build args et secrets.

Service : dans Compose, un service definit un conteneur avec sa configuration. Dans Swarm/Kubernetes, c'est aussi un mecanisme de load balancing et de découverte.

Slim : variante allegee des images officielles (ex: node:20-slim). Basee sur Debian mais sans les paquets non essentiels. Voir images de base.

T

Tag : identifiant de version d'une image. Notation image:tag. Un tag peut etre mutable (latest) ou immutable (bonne pratique : semver, SHA). Voir registries.

tmpfs : système de fichiers en mémoire monte dans un conteneur. Les donnees disparaissent quand le conteneur s'arrêté. Utile pour les fichiers temporaires sensibles. Voir volumes.

V

Volume : mecanisme de persistance Docker. Trois types : named volumes (geres par Docker), bind mounts (répertoire hote), tmpfs (en mémoire). Voir volumes.

Termes hors Docker

12-Factor App : methodologie en 12 principes pour construire des applications cloud-native. Plusieurs principes s'appliquent directement a Docker (logs sur stdout, configuration par variables d'environnement). Voir logs.

Kubernetes (K8s) : orchestrateur de conteneurs. Gere le déploiement, le scaling et la haute disponibilité sur un cluster de machines. Voir au-delà de Compose.

Podman : alternative a Docker compatible OCI. Fonctionne sans daemon et en rootless par défaut. Voir Desktop et Engine.


Ce glossaire couvre les termes principaux de la serie. Si un terme te manque, c'est probablement qu'il n'a pas besoin d'un article Docker dédié. Ou que j'ai oublie. Les deux sont possibles.

Sur paltemps.fr, je maintiens cette page à jour au fil des evolutions de Docker.

Résumé

  • Ce glossaire regroupe tous les termes Docker de la serie en définitions courtes
  • Chaque entree renvoie vers l'article qui traite le sujet en détail
  • Garde cette page en favori pour référencé rapide

Precedent : 32 - Au-dela de Compose

Serie suivante : a venir.

Sources

Réservez un audit gratuit de 30 minutes. Je vous montre concrètement ce qu'on peut automatiser.