我可以使用
ENV
在Dockerfile中定义“静态”环境变量,但是是否可以在构建时向此变量传递某些值?我正在尝试像这样的东西,但不起作用: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