如何在docker run命令中使用环境variables?
如果我将容器内设置的环境variables作为parameter passing给docker run
,我的shell会对其进行评估。 例如:
我想我的容器打印$FOO
这是bar
的价值。 这些都不会起作用:
# Prints blank line $ docker run -e FOO=bar ubuntu echo $FOO # Prints '$FOO' $ docker run -r FOO=bar ubuntu echo \$FOO
如果你在shell中运行echo
,它会起作用:
$ sudo docker run --rm -e FOO=bar ubuntu bash -c 'echo $FOO' bar
这是因为echo
是一个命令( /bin/echo
),但它是执行variablesreplace的shell。