Переменные среды в образах Docker

Переменные среды в образах Docker

Моя цель — использовать переменные среды в файле docker-compose.yml, на которые можно ссылаться внутри самого приложения, как вconfig/database.yml

docker-compose.yml


...
environment:
  $DB_NAME: myapplication
  $DB_USER: appadmin
  $DB_PASS: secret
...

config/database.yml

...
database: $DB_NAME
db_user: $DB_USER
db:pass: $DB_PASS
...

Но как бы я ни пытался отправить переменные в свой файл, они не распознаются. :(

решение1

Вы просто пытаетесь задать переменные в файле Compose? В этом случае вам не нужен "$" перед ними:

environment:
  - DB_NAME=database
  - DB_USER=appadmin
  - DB_PASS=secret

Вы также можете использовать сопоставления:

environment:
  DB_NAME: database
  DB_USER: appadmin
  DB_PASS: secret

При ссылке на них в файле конфигурации базы данных вы также можете просто использовать имя переменной, опять же, без «$»:

environment:
  DB_NAME
  DB_USER
  DB_PASS

Вы можете проверитьПараметры среды созданиядокументация иСсылка на среду Composeдля дополнительной информации.

Надеюсь, это поможет.

Связанный контент