Detaillierte Erklärung der verfügbaren Umgebungsvariablen in Docker Compose

Detaillierte Erklärung der verfügbaren Umgebungsvariablen in Docker Compose

Mehrere Teile von Compose befassen sich in irgendeiner Weise mit Umgebungsvariablen. Dieses Tutorial kann Ihnen dabei helfen, die benötigten Informationen zu finden.

1. Ersetzen Sie Umgebungsvariablen in der Compose-Datei

Sie können Werte in einer Compose-Datei mithilfe von Umgebungsvariablen aus Ihrer Shell auffüllen:

Webseite:
 Bild: "webapp:${TAG}"

Weitere Informationen finden Sie im Abschnitt zur Variablensubstitution im Compose-Dateihandbuch.

2. Umgebungsvariablen im Container festlegen

Sie können Umgebungsvariablen im Servicecontainer mit dem Schlüsselwort „environment“ festlegen, genau wie mit „docker run -e VARIABLE=VALUE ...“:

Webseite:
 Umfeld:
 -DEBUG=1

3. Übergeben von Umgebungsvariablen an den Container

Wenn Sie environment verwenden, ohne einen Wert zuzuweisen, können Sie die Umgebungsvariablen in der Shell an den Service-Container übergeben, genau wie mit docker run -e VARIABLE ... :

Webseite:
 Umfeld:
 -DEBUGGEN

Der Wert der DEBUG-Variable im Container wird aus der gleichnamigen Variable in der Shell übernommen, die Compose ausführt.

4. Die Konfigurationsoption „env_file“

Mit dem Befehl env_file können Sie mehrere Umgebungsvariablen mithilfe einer externen Datei an den Servicecontainer übergeben, genau wie mit docker run --env-file=FILE ... :

Webseite:
 Umgebungsdatei:
 -web-variables.env

5. Umgebungsvariablen mit „docker-compose run“ festlegen

Genau wie mit docker run -e können Sie docker-compose run -e verwenden, um Umgebungsvariablen für einen einzelnen Container festzulegen:

docker-compose run -e DEBUG=1 web python console.py

Sie können eine Variable auch aus der Shell übergeben, anstatt sie direkt zuzuweisen:

docker-compose run -e DEBUG web python console.py

Der Wert der DEBUG-Variable im Container wird aus der gleichnamigen Variable in der Shell übernommen, die Compose ausführt.

6. „.env“-Datei

Sie können Standardwerte für alle Umgebungsvariablen festlegen, auf die in einer Compose-Datei verwiesen wird, in einer Umgebungsdatei mit dem Namen .env oder zum Konfigurieren von Compose:

$ Katze .env
TAG=v1.5

$ Katze docker-compose.yml
Version: '3'
Leistungen:
 Webseite:
 Bild: "webapp:${TAG}"

Beim Ausführen docker-compose up verwendet der oben definierte web webapp:v1.5 . Sie können die Konfigurationsinformationen der Anwendung überprüfen, indem Sie sie mit dem Befehl „config“ auf dem Terminal ausdrucken:

$ Docker-Compose-Konfiguration

Version: '3'
Leistungen:
 Webseite:
 Bild: 'webapp:v1.5'

Werte in der Shell haben Vorrang vor Werten, die in der .env Datei angegeben sind. Wenn Sie TAG in der Shell auf einen anderen Wert setzen, wird dieser Wert im Image verwendet:

$ export TAG=v2.0
$ Docker-Compose-Konfiguration

Version: '3'
Leistungen:
 Webseite:
 Bild: 'webapp:v2.0'

Beim Festlegen der gleichen Umgebungsvariable in mehreren Dateien verwendet Compose die folgende Priorität, um auszuwählen, welcher Wert verwendet werden soll:

  • Datei erstellen
  • Umgebungsdatei
  • Docker-Datei
  • Variable ist nicht definiert

Im folgenden Beispiel legen wir sowohl in der Umgebungsdatei als auch in der Compose-Datei dieselben Umgebungsvariablen fest:

$ Katze ./Docker/api/api.env
NODE_ENV=Test

$ Katze docker-compose.yml
Version: '3'
Leistungen:
 API:
 Bild: ‚Knoten:6-Alpine‘
 Umgebungsdatei:
  - ./Docker/api/api.env
 Umfeld:
  - NODE_ENV=Produktion

Beim Ausführen eines Containers haben die in der Compose-Datei definierten Umgebungsvariablen Vorrang.

$ Docker-Compose Exec-API-Knoten

Prozess.Umgebung.NODE_ENV
'Produktion'

Alle ARG oder ENV -Einstellungen im Dockerfile werden nur ausgewertet, wenn kein Docker Compose-Eintrag für environment oder env_file vorhanden ist.

Details zum NodeJS-Container

Wenn Sie für den Start Ihres Skripts einen package.json-Eintrag wie NODE_ENV=test node server.js haben, überschreibt dies alle Einstellungen in Ihrer docker-compose.yml-Datei.

7. Konfigurieren Sie Compose mithilfe von Umgebungsvariablen

Es gibt mehrere Umgebungsvariablen, mit denen das Verhalten der Docker Compose-Befehlszeile konfiguriert werden kann. Sie beginnen mit COMPOSE_ oder DOCKER_ und werden in den CLI-Umgebungsvariablen aufgezeichnet.

8. Umgebungsvariablen über Link erstellen

Bei Verwendung der Links-Option in der ersten Version der Compose-Datei werden für jeden Link Umgebungsvariablen erstellt. Sie sind in der Link-Umgebungsvariablenreferenz dokumentiert.

Diese Variablen sind jedoch veraltet. Link erstellt stattdessen einen Alias ​​für den Host.

Ursprüngliche URL

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beispiel zum Referenzieren von Umgebungsvariablen in Docker Compose
  • Verwendung von Umgebungsvariablen in Docker und Lösungen für häufige Probleme

<<:  Detaillierte Erklärung zur Verwendung des Canvas-Operation-Plugins fabric.js

>>:  Teilen Sie 101 MySQL-Debugging- und Optimierungstipps

Artikel empfehlen

12 Javascript-Tabellensteuerelemente (DataGrid) sind aussortiert

Wenn die DataSource-Eigenschaft eines DataGrid-Ste...

Node-Skript realisiert automatische Anmelde- und Lotteriefunktion

Inhaltsverzeichnis 1. Einleitung 2. Vorbereitung ...

Ubuntu installiert mehrere Versionen von CUDA und wechselt jederzeit

Ich werde nicht erklären, was CUDA ist, sondern d...

Remote-Entwicklung mit VSCode und SSH

0. Warum brauchen wir Remote-Entwicklung? Bei der...

HTML-Kommentare Symbole zum Markieren von Textkommentaren in HTML

HTML-Kommentare: Wir müssen häufig einige HTML-Ko...

Embed-Codes für mehrere ältere Player

Die Player, die wir auf Webseiten sehen, sind nic...

Wissen Sie, wie Sie das Flash-Wmode-Attribut in Webseiten verwenden?

Bei der Webentwicklung kann es vorkommen, dass Fl...

Detaillierte Erklärung der Kontrolle des Zugriffsvolumens durch Nginx

Zweck Machen Sie sich mit den Nginx-Modulen ngx_h...

JavaScript implementiert das Klassenlotterie-Applet

In diesem Artikel wird der spezifische JavaScript...

Vier Methoden zur Verwendung von JS zur Bestimmung von Datentypen

Inhaltsverzeichnis Vorwort 1. Art von 2. Instanz ...

Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern

Vorwort Leser, die mit MySQL vertraut sind, werde...