Dockerfile中带有双星号的环境variables

我已经注意到,在一些Dockerfile中,环境variables是使用特定expression式来指定的,这些expression式执行某种variablesreplace,比如:

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

我无法在Docker官方文档中find对这些expression式的任何引用。

在哪里可以find可用于Dockerfile的可能expression式的列表,它们的含义是什么?

使用这些variables作为模板variables是非官方的惯例。 它们将在运行时被replace。

或者,您可以使用docker run -e开关replace它们。

例如:

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

如果variables值是**Random**让我们用随机生成的密码replace它。