Я экспортировал переменные, чтобы убедиться, что даже в новом экземпляре оболочки переменная сохраняется, но она не работает ... Я не знаю, как мне это сделать.Я провел много исследований и тестирований, ничего убедительного.
Dockerfile:
FROM bitnami/minideb:stretch
SHELL ["/bin/bash", "-c"]
ARG VAR1="1"
ARG VAR2="Hello"
# Export arguments
RUN export VAR1="${VAR1}" \
&& export VAR2="${VAR2}"
# Output "Hello world"
RUN if [ $VAR1 = "1" ]; then VAR2+=" world"; fi \
&& echo $VAR2
# Output "Hello" instead of "Hello World"
RUN echo $VAR2
Наверняка каждый RUN
происходит в новой оболочке.
Нопочему, черт возьми, VAR2+=" world"
не сохраняется, поскольку export VAR2="${VAR2}
сохраняется?
Я действительно не понимаю.
Заранее спасибо всем, кто найдет способ справиться с этим странным поведением..