- Avancé
- Réseau
Comment ça marche
Un conteneur recréé reçoit une nouvelle adresse IP sur ses réseaux. nginx résout un nom écrit dans proxy_pass à son démarrage, et plus jamais ensuite ; avec une directive resolver 127.0.0.11 et l'adresse dans une variable, il redemande quand la réponse expire (valid=, ou le TTL de 600 secondes du DNS de Docker). Avec Compose, depends_on avec restart: true redémarre le proxy après la recréation du service dont il dépend.
Ce qui casse
Après un déploiement, le proxy répond 502 Bad Gateway, alors que le nouveau conteneur fonctionne, jusqu'à ce que quelqu'un redémarre le proxy. Avec une variable mais sans resolver, nginx ne peut rien résoudre ; avec une variable, proxy_pass envoie l'URI telle qu'écrite, donc un / final change le chemin que reçoit le service.
Dans compose.yaml
services:
frontend:
build: ./frontend
depends_on:
api:
condition: service_started
restart: true
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.