Compose: env_file interpolant les variables de .env et shell de la même manière que l'environnement

Créé le 11 sept. 2016  ·  3Commentaires  ·  Source: docker/compose

J'ai des variables de configuration définies dans le fichier ".env".
Donc, si je peux les utiliser comme ceci dans mon fichier de composition yml :

  environment:
   - VAR=${VAL_FROM_ENV}
  env_file:
    - etc/environment.yml

Pourquoi je ne peux pas l'utiliser dans mon environnement.yml ?

DEMO_VAR='${VAL_FROM_ENV}'

Je vois env_file comme une extension du champ d'environnement dans un fichier , et il est également parfaitement logique d'adhérer à la substitution de shell vars.

Il est logique pour moi que le fichier .env soit pour Compose et environment/env_file pour les conteneurs docker.
Il est également parfaitement logique pour moi que les variables d'environnement de terminal remplacent celles de .env.

Je pense que c'est plutôt cool de pouvoir avoir plusieurs fichiers env.yml ou un seul et les réutiliser. Faire en sorte que cela fonctionne de la même manière que les variables de domaine de l'environnement rendrait l'ensemble de la composition considérablement plus dynamique et interconnecté (et vous ne faites pas tout passer partout). Et je n'aurais pas à tout retaper à différents endroits.

Contexte - J'orchestre un environnement de développement sur mac avec docker machine / compose (auparavant avec vagrant) et j'ai cherché un moyen de conserver tous les paramètres importants par application dans un seul fichier (où l'application s'exécute sur une pile définie dans le fichier de composition), qui IMHO rend la vie plus facile avec de nombreux projets/devs. De plus, je n'aime vraiment pas coder en dur les données sensibles dans différents fichiers de configuration.

J'ai suivi la discussion sur # 3435 (Interpoler les variables définies par l'environnement ou env_file) et bien que je le veuille vraiment, je ne pense pas que le fichier de composition yml soit le bon endroit pour définir des variables à utiliser ailleurs (dans les fichiers de composition/docker ? ) car cela conduirait à un mélange de variables complètement illisible (qui définit ou lit d'où ?).

Merci. :)

version docker-composer
docker-compose version 1.8.0, build inconnue
version docker-py : 1.9.0
Version de Python : 2.7.10
Version OpenSSL : OpenSSL 0.9.8zh 14 janvier 2016

stale

Commentaire le plus utile

Implémentation vraiment incohérente sans que cette partie ne fonctionne.

Tous les 3 commentaires

Implémentation vraiment incohérente sans que cette partie ne fonctionne.

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.

Ce problème a été automatiquement fermé car il n'avait pas d'activité récente pendant la période obsolète.

Cette page vous a été utile?
0 / 5 - 0 notes