Назад | Перейти на главную страницу

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

Моя цель - использовать переменные среды в файле 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
...

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

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

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 Environment для дополнительной информации.

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