我注意到,在某些Dockerfile中,环境变量是使用特定表达式指定的,这些表达式执行某种类型的变量替换,例如:
ENV PASSWORD **Random**
ENV NAME **False**
我在码头正式文件中找不到任何提及这些说法的地方。
在这里,我可以找到一个可以在Dockerfile中使用的可能表达式的列表,它们的含义是什么?
发布于 2015-04-18 09:44:05
使用这些变量作为模板变量是非官方惯例。它们将在运行时被替换。
或者您可以使用-e
的docker run
开关来替换它们。
例如:
ENV MYSQL_USER admin
ENV MYSQL_PASS **Random**
# Replication ENV
ENV REPLICATION_MASTER **False**
ENV REPLICATION_SLAVE **False**
如果您查看start脚本,您可以看到以下内容:
if [ "$MYSQL_PASS" = "**Random**" ]; then
unset MYSQL_PASS
fi
PASS=${MYSQL_PASS:-$(pwgen -s 12 1)}
如果变量值是**Random**
,那么让我们用随机生成的密码替换它。
https://stackoverflow.com/questions/29718483
复制相似问题