docker 映像中的環境變數

docker 映像中的環境變數

我的目標是在 docker-compose.yml 檔案中使用環境變量,該檔案可以在應用程式本身內部引用,例如config/database.yml

docker-compose.yml


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

配置/資料庫.yml

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

但無論我如何嘗試將變數發送到我的文件,它們都不會被識別。 :(

答案1

您只是想在撰寫文件中設定變數?在這種情況下,您不需要在它們前面加上“$”:

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

您可以檢查撰寫環境選項文件和撰寫環境參考了解更多。

希望有幫助。

相關內容