2017-12-18 4 views
0

Ich habe mein Docker-Image erfolgreich in die swisscom App Cloud geschoben (ähnlich wie in diesem Beispiel: https://ict.swisscom.ch/2016/05/docker-and-cloudfoundry/).Vom Benutzer zur Verfügung gestellte Umgebungsvariable im Docker CMD

Jetzt möchte ich eine benutzerdefinierte Umgebungsvariable in meinem Docker CMD verwenden. Etwas wie folgt aus:

ADD target/app.jar app.jar 
CMD java -jar app.jar -S $USER_PROVIDED_ENV_VARIABLE 

ich auch versucht, vom System bereitgestellte Umgebungsvariablen:

ADD target/app.jar app.jar 
CMD java -jar app.jar -S $VCAP_APPLICATION 

Was mache ich falsch hier?

Antwort

1

Wenn Ihre Dockerfile so aufgebaut ist, müssen Sie einfach das Flag -e übergeben, wenn Sie das Image ausführen. Dockerfile

Beispiel:

FROM ubuntu:16.10 
ENV MY_VAR "default value" # Optional - set a default value. 
CMD echo $MY_VAR 

Erstellen Sie das Bild:

docker build -t my_image . 

Führen Sie einen Container aus dem Bild:

docker run -e MY_VAR="my value here" my_image 
+0

Wahrscheinlich vorschlagen wollen ' ENV MY_VAR = default', also haben Sie einen expliziten Standardwert – Adam

+0

@Adam Großer Vorschlag, danke - Aktualisiert. –

+0

Ja. Fühlte sich nicht gierig genug, um eine Antwort mit diesem zu posten :) – Adam

Verwandte Themen