Dockerfile ENV var символ заменить - PullRequest
1 голос
/ 12 ноября 2019

Могу ли я выполнить подстановку символов, чтобы установить одно ENV значение на основе другого?

Мой сценарий ...

ENV tableauVersion 2019-4-0
ENV tableauVersionDots 2019.4.0

ENV tabcmdURL https://downloads.tableau.com/esdalt/${tableauVersionDots}/tableau-tabcmd-${tableauVersion}_all.deb

Очевидно, я бы хотел иметь возможностьопределить tableauVersionDots на основе переменной tableauVersion ENV (т.е. заменить - на .)

1 Ответ

0 голосов
/ 12 ноября 2019

Нет. Единственные замены, которые можно сделать в инструкциях Dockerfile ENV, - это те, которые показаны в документации Dockerfile : $variable, ${variable}, ${variable:-default} или ${variable:+yes it is set}.

Для таких URL вам не нужны эти переменные в среде. Если вам нужно вычислить и затем извлечь его, вы можете сделать это в одном RUN выражении

RUN tableauVersionDots=$(echo "$tableauVersion" | sed 's/-/./g') \
 && curl -LO https://downloads.tableau.com/esdalt/${tableauVersionDots}/tableau-tabcmd-${tableauVersion}_all.deb

Параметр переменной не сохранится после этого выражения RUN (и в пространстве оболочки Iдаже не удосужился export это), но это, вероятно, хорошо только для получения URL.

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