Dockerfile - установка переменной ENV из выходных данных скрипта .sh - PullRequest
0 голосов
/ 09 ноября 2018

Я работаю над «докеризацией» процесса сборки, и мне нужно выяснить, как установить переменную ENV на основе выходных данных скрипта. По сути, все, что делает скрипт - это проверяет имя ветви - что-то вроде if master return foo, else return bar.

Я пробовал пару вещей: экспорт - который, как я знаю, не прилипает, мне нужна переменная, которая сохраняется. Я пробовал что-то вроде этого: RUN MY_VAR=$(/path/to/my/script/script.sh) безуспешно.

Это должно происходить на этапе сборки, а не после того, как образ был собран. Эти переменные ENV должны быть установлены при запуске образа докера.

Спасибо за любую помощь, которую вы можете предложить.

1 Ответ

0 голосов
/ 09 ноября 2018

Непосредственно для вашего вопроса есть какой-то обходной путь. Вы можете сохранить вывод своего скрипта в любом месте файловой системы, например: RUN /path/to/my/script/script.sh > /opt/myvalue

А в точке входа или в сценарии cmd используйте вот так export MY_VAR=$(echo /opt/myvalue)

Но если вы предоставите более подробную информацию, почему вы используете такой скрипт и для чего нужна эта переменная, возможно, найдется более удачное решение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...