So übergeben Sie Umgebungsvariablen an einen Docker-Container

How Pass Environment Variables Docker Container



Docker ist ein Open-Source-Programm, das Serveranwendungen mithilfe von Containern anstelle von virtuellen Maschinen ausführt. Docker ist eine Entwicklungs- und Hosting-Konfiguration, die weniger Ressourcen verbraucht, daher ist es keine Überraschung, dass es die Entwicklungswelt erobert. Docker-Umgebungsvariablen sind für dieses Verfahren von Bedeutung, da sie Daten speichern, die für jedes Benutzerkonto, das auf die Software zugreift, eindeutig sind.

Wenn Sie ein beliebiges modernes JavaScript-Framework verwenden, um einen Container für eine einzelne App zu erstellen, stellen Sie möglicherweise fest, dass die Konfigurationseinstellungen je nach Ausführung des Containers variieren. Die grundlegende URL für Ihre API kann beispielsweise variieren, je nachdem, ob Sie die App testen oder veröffentlichen. Umgebungsvariablen werden häufig von Entwicklern verwendet, um dieses Problem anzugehen, da Code auf dem Backend ausgeführt wird. Umgebungsvariablen werden dort normalerweise verwendet.







Während der Imageerstellung müssen wir möglicherweise Umgebungsinformationen an den Betriebscontainer übergeben. Dazu verwenden wir sowohl ENV- als auch ARG-Befehle. Der Befehl ARG erstellt eine Variable, die während des Buildprozesses bereitgestellt werden kann. Sobald es in der Dockerfile definiert ist, können Sie es mit dem Parameter —build-arg dem Image-Builder bereitstellen. Im Dockerfile können wir zahlreiche ARG-Anweisungen haben. Im Dockerfile ist der ARG-Befehl der einzige, der vor dem FROM-Befehl stehen kann.



Der ENV-Befehl setzt jedoch die Umgebungsvariable, die wiederum die Umgebung für die folgenden Konstruktionsanweisungen angibt. Auf die ENV-Anweisung kann während des Konstruktionsprozesses sowie beim Starten des Containers mit dem Flag —env zugegriffen werden. Wir sind jedoch nicht in der Lage, den ENV-Befehl beim Erstellen des Bildes zu übergeben. Die ARG-Direktive hat den Nachteil, dass sie nach dem Erstellen des Images nicht bestehen bleiben kann. Um die Umgebungsdaten beim Erstellen des Bildes inline zu übergeben, verwenden wir nur ENV und ARG. In diesem Handbuch zeigen wir Ihnen, wie Sie eine Umgebungsvariable an einen Docker-Container übergeben.



Voraussetzungen

Um die Umgebungsvariablen an einen Docker-Container zu übergeben, muss das Ubuntu 20.04 Linux-System installiert sein. Stellen Sie außerdem sicher, dass Sie die aktuelle Version von Docker auf Ihrem System installieren. Falls es nicht im System vorhanden ist, können Sie die Installation mit dem unten aufgeführten Befehl durchführen.





$ sudo apt install docker.io

In diesem gesamten Tutorial haben wir das Schlüsselwort Sudo verwendet, was bedeutet, dass Sie über Sudo-Berechtigungen verfügen müssen, um diesen Artikel auszuführen.



Methode zum Übergeben der Umgebungsvariablen

Um die Umgebungsvariablen an einen Docker-Container zu übergeben, müssen Sie das Kommandozeilen-Terminal öffnen, indem Sie die Tastenkombination Strg+Alt+T verwenden oder es im Anwendungsmenü mithilfe der Suchleiste suchen. Befolgen Sie nun die unten angehängten Schritte:

Schritt 1: Bild ziehen
In diesem Handbuch verwenden wir Alpine, ein winziges (5 MB) Linux-Image. Laden Sie zunächst das Image lokal herunter, indem Sie den folgenden angehängten Befehl verwenden:

$ sudo docker pull alpin:3

Die Ausgabe zeigt das erfolgreiche Bildziehen.

Schritt 2: Umgebungsvariablen übergeben
Mit dem Flag –env können wir Umgebungsvariablen als Schlüssel-Wert-Paare direkt in die Eingabeaufforderung eingeben, wenn wir unseren Docker-Container starten. Lassen Sie uns den folgenden angehängten Befehl zur Veranschaulichung verwenden:

$ sudo docker run --env VARIABLE1=foobar alpine:3

Für diesen Befehl gibt es keine spezifische Ausgabe.

Schritt 3: Umgebungsvariablen widerspiegeln
Um die Umgebungsvariablen wiederzugeben, verwenden Sie den folgenden angehängten Befehl zusammen mit dem Schlüsselwort export.

$ VARIABLE2 exportieren=foobar2

Für diesen Befehl gibt es keine spezifische Ausgabe.

Schritt 4: Umgebungsvariablen angeben
Ohne den Wert der Umgebungsvariablen anzugeben, definieren wir nun die Umgebungsvariable mit dem unten aufgeführten Befehl im Terminal:

$ sudo docker run --env VARIABLE2 alpine:3 env

In der Ausgabe sehen Sie, dass die Umgebungsvariable erfolgreich an den Docker-Container übergeben wurde.

Abschluss

In diesem Artikel haben wir das Konzept und die Bedeutung von Umgebungsvariablen in Docker erörtert. Außerdem haben wir Ihnen eine Schritt-für-Schritt-Anleitung zum Übergeben einer Umgebungsvariablen an einen Docker-Container bereitgestellt. Ich hoffe, Sie werden keine Probleme haben, wenn Sie die Umgebungsvariable an einen Docker-Container übergeben.