Я использую Docker composé версии 1.5 или 6 и образ nginx. Я хочу параметризовать nginx.config. Для этого я хочу создать переменную из $(базовое имя некоторого пути). Но проблема в том, что Docker не принимает такие динамические переменные, как в env части Dockerfile. Другая проблема заключается в том, что я также не могу сопоставить эти переменные при запуске сборки, поскольку компоновка Docker не принимает динамические, скриптовые переменные. Как побороть эту проблему?
From nginx
ENV myvar=$(basename /)
Это невозможно построить образ.
Другой путь был
ARG myvar
ENV myvar2=myvar
Но моя версия Docker compose позволяет только установить
Environment: myvar=$(basename mypathinthevolume/)
Тоже вроде не работает
$(basename /some/path)
, как правило, структура файловой системы контейнера Docker фиксирована, и в ней можно жестко закодировать пути. Если вы монтируете содержимое хоста с привязкой, укажите путь на стороне контейнера например,/data
. - person David Maze   schedule 14.07.2020