Docker verwendet ARG für Build-Zeit-Variablen und für Laufzeit-Variablen, die jeweils unterschiedliche Konfigurationszwecke erfüllen. ARG-Werte sind nur während des Bildaufbauprozesses verfügbar und können nicht in der Anwendungscode zugreifen. ENV-Variablen sind sowohl im Dockerfile als auch innerhalb des Anwendungscode des laufenden Containers zugänglich. Sie können ENV-Variablen` im Dockerfile, über den `docker run`-Befehl oder durch eine `.env`-Datei setzen, wobei Laufzeitwerte die Standardwerte im Dockerfile überschreiben. Das direkte Speichern sensibler Daten direkt im Dockerfile als Umgebungsvariablen wird aufgrund von Sicherheitsrisiken, da sie in das Bild eingebettet werden, abgeraten. Stattdessen sollten separate Umgebungsdateien für sensible Informationen verwendet werden und von der Versionskontrolle ausgeschlossen werden. ARG verbessert die Konfigurationsflexibilität, indem es die Festlegung von Standardwerten zur Laufzeit mit dem `--build-arg`-Flag ermöglicht. Um Docker-Builds zu optimieren, sollten ARG-Variablen nach der Installation von Abhängigkeiten definiert werden, um unnötige Neuinstallationen zu vermeiden. Die angemessene Verwendung von ARG und ENV trägt dazu bei, flexible, konfigurierbare und sichere Docker-Anwendungen zu erstellen. Das Verständnis der Unterschiede hilft Entwicklern, ihre Workflows zu verbessern, während Sicherheit und Effizienz aufrechterhalten werden.
dev.to
Mastering Docker ARG and ENV: Optimizing Configuration for Development and Production
Create attached notes ...