Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dockerfile中带双星号的环境变量_Docker_Environment Variables_Dockerfile - Fatal编程技术网

Dockerfile中带双星号的环境变量

Dockerfile中带双星号的环境变量,docker,environment-variables,dockerfile,Docker,Environment Variables,Dockerfile,我注意到,在某些Dockerfile中,环境变量是使用特定的表达式指定的,这些表达式执行某种类型的变量替换,例如: ENV PASSWORD **Random** ENV NAME **False** 我在Docker官方文档中找不到任何关于这些表达的参考 在那里我可以找到可在Dockerfile中使用的可能表达式列表及其含义?将这些变量用作模板变量是非正式惯例。它们将在运行时被替换 或者您可以使用docker run的-e开关替换它们 例如: ENV MYSQL_USER admin ENV

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

ENV PASSWORD **Random**
ENV NAME **False**
我在Docker官方文档中找不到任何关于这些表达的参考


在那里我可以找到可在Dockerfile中使用的可能表达式列表及其含义?

将这些变量用作模板变量是非正式惯例。它们将在运行时被替换

或者您可以使用
docker run
-e
开关替换它们

例如:

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)}

如果变量值是
**Random**
让我们用随机生成的密码替换它。

您有例子吗?有这样一个Docker文件的Docker hub链接吗?请看一个例子