Meu objetivo é usar variáveis de ambiente no arquivo docker-compose.yml que podem ser referenciadas dentro do próprio aplicativo, como emconfig/database.yml
docker-compose.yml
...
environment:
$DB_NAME: myapplication
$DB_USER: appadmin
$DB_PASS: secret
...
config/banco de dados.yml
...
database: $DB_NAME
db_user: $DB_USER
db:pass: $DB_PASS
...
Mas não importa como eu tente enviar as variáveis para o meu arquivo, elas não são reconhecidas. :(
Responder1
Você está apenas tentando definir as variáveis no arquivo de composição? Você não deveria precisar do "$" na frente deles nesse caso:
environment:
- DB_NAME=database
- DB_USER=appadmin
- DB_PASS=secret
Você também pode usar mapeamentos:
environment:
DB_NAME: database
DB_USER: appadmin
DB_PASS: secret
Ao referenciá-los no arquivo de configuração do banco de dados, você também pode usar o nome da variável, novamente, sem o "$":
environment:
DB_NAME
DB_USER
DB_PASS
Você pode verificar oCompor opções de ambientedocumentação e oReferência do Compose Environmentpara mais informações.
Espero que ajude.