在 Dockerfile ENV 指令中访问 $HOME
Access $HOME in Dockerfile ENV instruction
我正在尝试使用 $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 ...
行之后添加行 ARG HOME
并在 docker-compose 文件中传递构建选项 --build-arg or add build:args 参数。
我正在尝试使用 $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 ...
行之后添加行 ARG HOME
并在 docker-compose 文件中传递构建选项 --build-arg or add build:args 参数。