如何在docker run命令中使用环境变量?

时间:2015-09-05 02:31:04

标签: docker

如果我将在容器内部设置的环境变量作为参数传递给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

1 个答案:

答案 0 :(得分:7)

如果你在shell中运行echo,它会起作用:

$ sudo docker run --rm -e FOO=bar ubuntu bash -c 'echo $FOO'
bar

这是因为echo是一个命令(/bin/echo),但它是执行变量替换的shell。

相关问题