Umgebungsvariablen in Docker-Images

Umgebungsvariablen in Docker-Images

Mein Ziel ist es, Umgebungsvariablen in der Datei docker-compose.yml zu verwenden, auf die innerhalb der Anwendung selbst verwiesen werden kann, wie inconfig/database.yml

docker-compose.yml


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

config/datenbank.yml

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

Aber egal wie ich versuche, die Variablen an meine Datei zu senden, sie werden nicht erkannt. :(

Antwort1

Sie versuchen nur, die Variablen in der Compose-Datei festzulegen? In diesem Fall sollten Sie das "$" davor nicht benötigen:

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

Sie können auch Zuordnungen verwenden:

environment:
  DB_NAME: database
  DB_USER: appadmin
  DB_PASS: secret

Wenn Sie in der Datenbankkonfigurationsdatei darauf verweisen, können Sie auch einfach den Variablennamen verwenden, wiederum ohne das „$“:

environment:
  DB_NAME
  DB_USER
  DB_PASS

Sie können dieUmgebungsoptionen zusammenstellenDokumentation und dieReferenz zur Compose-UmgebungFür weitere Informationen.

Hoffentlich hilft das.

verwandte Informationen