Je souhaite passer des variables d'environnement aux applications conteneurisées dans Docker via docker-composer. Ceci est une solution VS 2017 15.3 Tools for Docker.Passage des variables d'environnement à l'application dans un conteneur Docker via docker-composer
Dans mon fichier docker.compose.yml Je:
app.web:
image: app.web
env_file:
- ./path.to.project/config.env
build:
context: ./path.to.project
dockerfile: Dockerfile
Dans config.env Je:
TEST=Compose
Mais quand j'essaie de lire les variables à l'aide Environment.GetEnvironmentVariable("TEST");
Je reçois toujours nul.
Si je définis un fichier inexistant dans env_file
il se plaint lorsque je l'exécute, donc je donne pour acquis que trouve le fichier.
Si je mets la variable ainsi:
app.web:
image: app.web
environment:
- TEST=ComposeLiteral
build:
context: ./path.to.project
dockerfile: Dockerfile
je reçois "ComposeLiteral" lors de l'évaluation "TEST".
Quelle est la manière correcte de transmettre un fichier avec des variables d'environnement à l'application?
Vous essayez d'obtenir cette variable lors de la construction de votre image ou lors de l'exécution? – lifeisfoo
Pendant l'exécution. L'idée est de permettre à l'application conteneurisée de lire ces valeurs. – vtortola
Linux. Il utilise .NET Core 2.0 – vtortola