Übergabe von Umgebungsvariablen an Docker-Container
Es gibt verschiedene Möglichkeiten, Umgebungsvariablen an Docker-Container zu übergeben, jede mit ihrem eigenen Anwendungsfall und ihren Vorteilen. In diesem Abschnitt werden wir die verschiedenen Methoden untersuchen und Beispiele liefern, um Ihnen zu verdeutlichen, wie Sie Umgebungsvariablen in Ihren Docker-basierten Anwendungen effektiv verwalten können.
Verwendung des Flags --env
oder -e
Die direkteste Methode, Umgebungsvariablen an einen Docker-Container zu übergeben, ist die Verwendung des Flags --env
oder -e
beim Ausführen des Befehls docker run
. Dadurch können Sie eine oder mehrere Umgebungsvariablen und deren entsprechenden Werte angeben:
docker run -e MY_VARIABLE=my_value -e ANOTHER_VARIABLE=another_value my-image
Definition von Umgebungsvariablen im Dockerfile
Sie können Umgebungsvariablen auch direkt im Dockerfile
mithilfe der Anweisung ENV
definieren. Dieser Ansatz ist nützlich, wenn Sie Umgebungsvariablen haben, die für alle Instanzen Ihrer containerisierten Anwendung gemeinsam sind:
## Dockerfile
FROM ubuntu:latest
ENV MY_VARIABLE=my_value
ENV ANOTHER_VARIABLE=another_value
## Rest Ihrer Dockerfile-Anweisungen
Wenn Sie das Image mit diesem Dockerfile erstellen, sind die Umgebungsvariablen in den resultierenden Containern verfügbar.
Übergabe von Umgebungsvariablen vom Hostsystem
In einigen Fällen möchten Sie Umgebungsvariablen vom Hostsystem (dem Computer, auf dem der Docker-Daemon läuft) an den Container übergeben. Dies kann mit dem gleichen Flag --env
oder -e
erreicht werden, wobei der Variablenname ohne expliziten Wert angegeben wird:
docker run -e MY_VARIABLE -e ANOTHER_VARIABLE my-image
Dies gibt die Werte der Umgebungsvariablen MY_VARIABLE
und ANOTHER_VARIABLE
vom Hostsystem an den Container weiter.
Überschreiben von Umgebungsvariablen
Wenn Sie eine Umgebungsvariable sowohl im Dockerfile als auch im Befehl docker run
definieren, hat der Wert aus dem Befehl docker run
Vorrang. Dies ermöglicht Ihnen, Umgebungsvariablen zur Laufzeit einfach zu überschreiben, was für die Verwaltung verschiedener Bereitstellungsumgebungen oder Testszenarien nützlich sein kann.
Durch das Verständnis dieser verschiedenen Methoden zum Übergeben von Umgebungsvariablen an Docker-Container können Sie die Laufzeitumgebung Ihrer containerisierten Anwendungen effektiv konfigurieren und verwalten und so deren Flexibilität, Skalierbarkeit und Sicherheit gewährleisten.