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