如果设置了环境变量,请说ENV ADDRESSEE=world
,然后在连接到固定字符串的入口点脚本中使用它,例如:
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]
与world
作为环境varible的价值,我该怎么办呢?我尝试使用,"Hello, $ADDRESSEE"
但这似乎不起作用,因为它$ADDRESSEE
确实是正确的。
您正在使用ENTRYPOINT 的exec形式。与shell表单不同,exec表单不会调用命令shell。这意味着正常的外壳处理不会发生。例如,ENTRYPOINT [ "echo", "$HOME" ]
将不会在$ HOME上进行变量替换。如果要进行shell处理,则可以使用shell形式或直接执行shell,例如:ENTRYPOINT [ "sh", "-c", "echo $HOME" ]
。
当使用exec表单并直接执行shell时(例如在shell表单中),是由shell进行环境变量扩展,而不是docker。(来自Dockerfile参考)
在你的情况下,我会使用外壳形式
ENTRYPOINT ./greeting --message "Hello, $ADDRESSEE\!"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句