4
我可以在Dockerfile中使用ENV
定义“静态”环境变量,但是可以在构建时将某个值传递给此变量吗?我试图这样的事情,这不工作:如何将环境变量导出到泊坞窗图像?
FROM phusion/baseimage
RUN mkdir -p /foo/2016/bin && \
FOOPATH=`ls -d /foo/20*/bin` && \
export FOOPATH
ENV PATH $PATH:$FOOPATH
当然,在我运行的实际使用情况/拆包的东西,创建一个目录,其名称将不同版本的改变,日期等,我想避免每次更改目录名称时修改Dockerfile。
编辑:由于看来这是不可能的,最好的解决办法,到目前为止是使用一个符号链接:
FROM phusion/baseimage
RUN mkdir -p /foo/2016/bin && \
FOOPATH=`ls -d /foo/20*/bin` && \
ln -s $FOOPATH /mypath
ENV PATH $PATH:/mypath
我的理解是否正确:您使用''ARG''和''--build-arg''的''FOOPATH'与''RUN''命令完全无关?那对我来说这不是一个解决方案。我想导出在''RUN''中发生的事情的结果,这在事先并不完全知道。 – Jellby
确实,我错过了你正在尝试使用run命令的输出。我已经更新了我的答案。 – BMitch