我可以进行字符替换以根据另一个值设置一个ENV
值吗?
我的情况...
ENV tableauVersion 2019-4-0
ENV tableauVersionDots 2019.4.0
ENV tabcmdURL https://downloads.tableau.com/esdalt/${tableauVersionDots}/tableau-tabcmd-${tableauVersion}_all.deb
很显然,我希望能够基于tableauVersionDots
tableauVersion
变量来定义ENV
(例如,将-
替换为.
)>
答案 0 :(得分:0)
不。在Dockerfile ENV
语句中唯一可以做的替换是the Dockerfile documentation中显示的替换:$variable
,${variable}
,${variable:-default}
或${variable:+yes it is set}
对于这样的URL,您实际上不需要在环境变量中使用它们。如果您确实需要计算然后取回它,则可以在单个RUN
语句中完成它
RUN tableauVersionDots=$(echo "$tableauVersion" | sed 's/-/./g') \
&& curl -LO https://downloads.tableau.com/esdalt/${tableauVersionDots}/tableau-tabcmd-${tableauVersion}_all.deb
变量设置将无法在此RUN
语句之后继续存在(并且在shell空间中,我什至都没有为export
感到烦恼),但是仅获取URL可能就可以了。