Wenn ich beispielsweise eine Umgebungsvariable festlege ENV ADDRESSEE=world
und sie in dem Einstiegspunktskript verwenden möchte, das zu einer festen Zeichenfolge verkettet ist, wie:
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]
mit world
dem Wert der Umwelt varible ist, wie kann ich es tun? Ich habe es versucht, "Hello, $ADDRESSEE"
aber das scheint nicht zu funktionieren, da es $ADDRESSEE
wörtlich genommen wird.
quelle
ENTRYPOINT java -jar /dockertest.jar -Djava.security.egd=file:/dev/./urandom -Dserver.port=$port
währendENV port=123
. Der Port ENV wird nicht aufgelöst. Irgendwelche Ideen warum?--attitude "shouting"
demdocker run
Befehl kein Argument hinzufügen , das an./greeting
ENTRYPOINT ./greeting --message "Hello, $ADDRESSEE\! $0 $@"
Sie diese Option, wenn Sie zusätzliche Variablen./greeting
über dendocker run
Aufruf übergeben möchten (oderCMD
die Docker-Datei übergeben möchten)greeting
in Ihrem Beispiel). hynek.me/articles/docker-signalsIch habe versucht, mit der vorgeschlagenen Antwort zu lösen und bin trotzdem auf einige Probleme gestoßen ...
Dies war eine Lösung für mein Problem:
Speziell auf Ihr Problem ausgerichtet:
quelle
Nach viel Schmerz und großer Unterstützung von @vitr et al. Entschied ich mich, es zu versuchen
und das hat funktioniert.
z.B
und
Beide haben den Port in meinem Container richtig eingestellt
Refs
Siehe https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html
quelle