我正在努力使构建过程“码头化”,我需要弄清楚的一件事是如何根据脚本的输出设置ENV变量。基本上,脚本所做的只是检查分支名称-if master return foo, else return bar
之类的事情。
我尝试了几件事:导出-我知道不会粘滞,我需要一个持久的变量。我已经尝试过类似的操作:RUN MY_VAR=$(/path/to/my/script/script.sh)
,但没有成功。
这需要在构建阶段发生,而不是在构建映像之后。这些ENV变量需要在运行docker映像时设置。
感谢您可能提供的帮助。
答案 0 :(得分:0)
直接针对您的问题,有某种解决方法。
您可以将脚本的输出保存在文件系统中的任何位置,例如
RUN /path/to/my/script/script.sh > /opt/myvalue
在入口点或cmd脚本中使用如下所示
export MY_VAR=$(echo /opt/myvalue)
但是,如果您提供更多详细信息,说明为什么要使用这种脚本以及需要什么变量的情况,也许会有更好的解决方法