Docker イメージ内の環境変数

Docker イメージ内の環境変数

私の目標は、docker-compose.ymlファイルで環境変数を使用し、アプリケーション内で参照できるようにすることです。config/database.yml

ドッカー


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

config/データベース.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 環境リファレンス詳細については。

お役に立てれば幸いです。

関連情報