我正在尝试使用 $HOME 变量动态设置带有 ENV 指令的环境变量(我认为它是系统环境变量)。
但是 ENV 无法访问 $HOME。它是空白的。虽然我能够回应$HOME。
FROM somebaseimage
....
....
USER 5051
RUN echo $HOME
# prints /home/myuser
ENV MY_JSON_FILEPATH="${HOME}/my_file.json"
RUN echo $MY_JSON_FILEPATH
# prints /my_file.json
我已经尝试过 "${HOME}/my_file.json", "$HOME/my_file.json";两者都不起作用。
设置此类环境变量的最佳方法是什么?
如果您需要该变量仅在构建期间
FROM ubuntu
SHELL ["/bin/bash", "-c"]
ENV BASH_ENV="/etc/bash_env"
USER root
RUN echo "export MY_JSON_FILEPATH=$HOME/MY_JSON_FILEPATH" >>$BASH_ENV
RUN echo $MY_JSON_FILEPATH
#6 [3/3] RUN echo $MY_JSON_FILEPATH
#6 0.246 /root/MY_JSON_FILEPATH
#6 DONE 0.3s
参考