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它。