Dockerfile中带有双星号的环境变量

时间:2015-04-18 14:13:56

标签: docker environment-variables dockerfile

我注意到在某些Dockerfile中,环境变量是使用特定表达式指定的,这些表达式执行某种变量替换,例如:

ENV PASSWORD **Random**
ENV NAME **False**

我在Docker官方文档中找不到对这些表达式的任何引用。

在哪里可以找到可以在Dockerfile中使用的可能表达式的列表,它们的含义是什么?

1 个答案:

答案 0 :(得分:1)

将这些变量用作模板变量是非官方约定。它们将在运行时更换。

或者您可以使用-e的{​​{1}}开关替换它们。

例如:

docker run

如果您查看启动脚本,可以看到以下内容:

ENV MYSQL_USER admin
ENV MYSQL_PASS **Random**

# Replication ENV
ENV REPLICATION_MASTER **False**
ENV REPLICATION_SLAVE **False**

如果变量值为if [ "$MYSQL_PASS" = "**Random**" ]; then unset MYSQL_PASS fi PASS=${MYSQL_PASS:-$(pwgen -s 12 1)} ,请将其替换为随机生成的密码。