8
Wenn ich eine Umgebungsvariable übergeben, die innerhalb des Containers als Argument auf docker run
festgelegt ist, wertet meine Shell es aus. Zum Beispiel:Wie kann ich Umgebungsvariablen in einem docker run-Befehl verwenden?
Ich möchte, dass mein Container den Wert $FOO
ausgibt, also bar
. Keiner von ihnen arbeiten:
# Prints blank line
$ docker run -e FOO=bar ubuntu echo $FOO
# Prints '$FOO'
$ docker run -r FOO=bar ubuntu echo \$FOO
Ich glaube nicht, dass das der Grund ist; Es ist eigentlich der Host, der die Variable erweitert, bevor sie an Docker gesendet wird, dh 'FOO =" bar "&& docker run ubuntu echo $ FOO' druckt die Leiste –
Der zweite Teil der Frage entkommt der Variablen als' \ $ FOO', was die Expansion verhindert und führt dazu, dass $ FOO gedruckt wird. – z0r
Ah, ok. Ich habe nicht über die erste gelesen;) –