我需要在RUN中编写一些复杂的命令链,在此期间,我想使用shell脚本中的环境变量进行操作。
我尝试过这种方法
RUN echo 'export TEST=test' > /srv/test.sh && chmod 777 /srv/test.sh && /srv/test.sh && env
但没有成功:env
没有显示TEST
变量。
我想我们可以做这样的事情
RUN export $(script.sh)
并在script.sh
中回显(而不导出)变量,但这不是很直接,是一种解决方法。有更好的方法吗?
我想实现的目标是在公司代理后面建立形象。仅设置正确的http_proxy
并不能解决问题,因为sbt无法正确地将自己安装在具有身份验证的代理后面。因此,我需要在docker映像中安装一些辅助代理,从http_proxy
为其生成配置,运行辅助代理,然后导出新的http_proxy
。所有这些内容最好放到脚本中,因此可以在不同的层以及ENTRYPOINT
中使用。