- Expert
- Orchestration avec Swarm
Comment ça marche
Crée-le depuis l'entrée standard (printf '%s' "$VALEUR" | docker secret create nom -) ou un fichier, déclare-le dans la stack (external: true, ou file:), et liste-le sous secrets: dans le service. Les images officielles lisent les variables NOM_FILE (POSTGRES_PASSWORD_FILE) ; les applications peuvent suivre la même convention. Un secret ne change pas : crée un nouveau nom pour le renouveler.
Ce qui casse
Les variables d'environnement font partie de la définition du service : docker service inspect les affiche, chaque conteneur en hérite, les rapports de plantage les vident. Écrire ${PASSWORD} dans le fichier de stack ne fait que déplacer la valeur de git vers le déploiement. Un secret créé avec la mauvaise valeur échoue à la connexion, pas au déploiement.
Dans compose.yaml
services:
db:
image: postgres:16
environment:
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_password
secrets:
db_password:
external: true
name: shop_db_password
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.