在DockerFile中使用Dokku环境variables
我打算在DockerFile中使用Dokku环境variables,但没有成功。
Dokku Env设有:
dokku config:set www NR_APP=AppName
在DockerFile中,我想把这个NR_APP放到一个文件中:
RUN sh -c 'echo "newrelic.appname=\"$NR_APP\"" >> /etc/php5/apache2/conf.d/newrelic.ini'
但是它不起作用,文件中的结果是:
newrelic.appname=
如果我尝试在构build期间仅回显ENV:
RUN echo "$NR_APP"
它返回空白。
如果我尝试在DockerFile 里面设置NR_APP:
ENV NR_APP AppName
它的工作原理,但我不想在DockerFile中定义它,因为它是一个基于开发/生产部署而改变的值,我也用license_key来做。
谢谢!
我从来没有使用Dokku,但只能在运行时在启动的容器中使用这些variables。
Docker故意不允许你将variables传递给Docker构build,这样构build在各个环境中都是可重复的。
我怀疑你可以写一个脚本来configuration应用程序在运行时使用给定的variables,然后启动它。 只需从Dockerfile中的ENTRYPOINT或CMD指令引用此脚本即可。