Die übergabe der variable von container-start-Datei

Habe ich die folgenden Zeilen in ein Dockerfile, wo ich will, um einen Wert in einer config-Datei ein default-Wert, bevor die Anwendung beginnt, bis am Ende-und bieten Optional die Einstellung, es mit der -e option beim starten der container.

Ich versuche, dies zu tun mit Docker ' s ENV commando

 ENV CONFIG_VALUE default_value
 RUN sed -i 's/CONFIG_VALUE/'"$CONFIG_VALUE"'/g' CONFIG_FILE
 CMD command_to_start_app

Habe ich den string CONFIG_VALUE explizit in der Datei CONFIG_FILE und der default-Wert aus dem Dockerfile wird richtig ersetzt. Jedoch wenn ich den container mit den zusätzlichen -e CONFIG_VALUE=100 die substitution nicht durchgeführt wird, wird der Standardwert setzen im Dockerfile gehalten wird.

Wenn ich

docker exec -i -t container_name bash

sowie echo $CONFIG_VALUE im inneren des Behälters die Umgebungsvariable enthält den gewünschten Wert 100.

  • Dank, durch die Inzidenz dein Beispiel hat mir geholfen, 'escape' die Umgebungsvariable für die sed richtig (unter Ausschluss der Teil mit ").
InformationsquelleAutor tco25 | 2015-05-17
Schreibe einen Kommentar