Variáveis ​​de ambiente em imagens do Docker

Variáveis ​​de ambiente em imagens do Docker

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.

informação relacionada