在Docker中为持久variables“源”一个“sh”文件
这里有一个类似的问题,但它不能解决我的问题,这不完全相同的问题。
我正在尝试编写一个Dockerfile来创build一个容器,其中已经安装了可用的开源Dreamcast SDK。 SDK提供了一个.sh文件,该文件设置了大量的环境variables,但也包含其他更多环境variables的.sh文件。
我需要这些环境variables来:
- 在整个容器中为所有用户在全球范围内提供
- 可用于Dockerfile中的后续运行命令
我已经尝试追加一个source ...
行到/etc/environment
和~/.bashrc
但似乎都没有工作。 我怎样才能使用这些文件来设置全球环境?
谢谢!
更新(更多信息)
所以,这是我试图做的:
RUN cp /opt/toolchains/dc/kos/doc/environ.sh.sample /etc/profile.d/dreamcast.sh RUN echo -e "\nsource /etc/profile.d/dreamcast.sh" >> /etc/bash.bashrc RUN echo $KOS_BASE
所以我已经将示例环境文件复制到/etc/profile.d/
(该位置并不真正相关),然后更改bash.bashrc来调用环境文件,然后回显确认环境variables生效(他们没有)。
我无法使用/ etc / environment,因为.sh文件中有条件逻辑来确定为环境variables设置哪些值。 我也试过〜/ root / .bashrc。