Dockerfile-从.sh脚本的输出中设置ENV变量

时间:2018-11-09 15:35:10

标签: docker dockerfile

我正在努力使构建过程“码头化”,我需要弄清楚的一件事是如何根据脚本的输出设置ENV变量。基本上,脚本所做的只是检查分支名称-if master return foo, else return bar之类的事情。

我尝试了几件事:导出-我知道不会粘滞,我需要一个持久的变量。我已经尝试过类似的操作:RUN MY_VAR=$(/path/to/my/script/script.sh),但没有成功。

这需要在构建阶段发生,而不是在构建映像之后。这些ENV变量需要在运行docker映像时设置。

感谢您可能提供的帮助。

1 个答案:

答案 0 :(得分:0)

直接针对您的问题,有某种解决方法。 您可以将脚本的输出保存在文件系统中的任何位置,例如 RUN /path/to/my/script/script.sh > /opt/myvalue

在入口点或cmd脚本中使用如下所示 export MY_VAR=$(echo /opt/myvalue)

但是,如果您提供更多详细信息,说明为什么要使用这种脚本以及需要什么变量的情况,也许会有更好的解决方法