- Expert
- Orchestration avec Swarm
Comment ça marche
Une stack crée ses réseaux avec le pilote overlay (shop_default). À l'intérieur, le nom d'un service (api, ou shop_api) se résout en son IP virtuelle ; tasks.api se résout en l'IP de chaque tâche. ports: publie en mode ingress par défaut : le routing mesh écoute sur chaque nœud, si bien qu'un répartiteur placé devant peut viser chacun d'eux.
Ce qui casse
Une tâche rejoint l'IP virtuelle dès qu'elle est Running. Sans healthcheck, Running veut dire que le conteneur a démarré, pas que l'application écoute : des requêtes lui arrivent pendant son démarrage et échouent. Un conteneur lancé avec docker run ne peut pas rejoindre le réseau d'une stack, sauf si ce réseau est attachable.
Dans compose.yaml
networks:
backend:
driver: overlay
attachable: true
services:
api:
image: registry.shop.internal/shop/api:2.3
networks: [backend]
ports:
- "80:3000"
Regarde-le casser, puis répare-le
Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.