Variables d'environnement

Les variables d'environnement configurent un conteneur au démarrage sans reconstruire son image : la même image tourne en préproduction et en production avec des valeurs différentes. -e, --env-file et environment: dans Compose les définissent.

Comment ça marche

Les valeurs données au lancement remplacent les ENV par défaut de l'image. docker exec api env ou docker inspect montrent ce que le conteneur a vraiment reçu. Dans Compose, ${VAR} dans le fichier est remplacé depuis le shell ou depuis un fichier .env avant le démarrage du conteneur.

Ce qui casse

Changer une valeur impose de recréer le conteneur : docker restart garde l'ancien environnement. Une variable manquante fait souvent planter l'application au démarrage, alors lis d'abord docker logs. Et ne grave jamais un mot de passe dans l'image avec ENV.

Dans un terminal

docker run -d --name api -e PORT=3000 --env-file ./prod.env orders-api
docker exec api env

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.