У меня создалось впечатление, что переменные окружения могут быть установлены на одной строке следующим образом, чтобы минимизировать промежуточные изображения.
FROM alpine:3.6
ENV RUBY_MAJOR 2.4 \
RUBY_VERSION 2.4.1 \
RUBY_DOWNLOAD_SHA256 4fc8a9992de3e90191de369270ea4b6c1b171b7941743614cc50822ddc1fe654 \
RUBYGEMS_VERSION 2.6.12 \
BUNDLER_VERSION 1.15.3
Однако запуск контейнера на основе этого фрагмента и вызов # set |grep RU
Я вижу, что переменные не назначаются отдельно, а объединены в одну строку.
RUBY_MAJOR='2.4 RUBY_VERSION 2.4.1 RUBY_DOWNLOAD_SHA256 4fc8a9992de3e90191de369270ea4b6c1b171b7941743614cc50822ddc1fe654 RUBYGEMS_VERSION 2.6.12 BUNDLER_VERSION 1.15.3'
Однако, если я явно задал каждую переменную, как показано ниже, я получаю ожидаемый результат и ошибок при вызове переменных нет.
ENV RUBY_MAJOR 2.4
ENV RUBY_VERSION 2.4.1
ENV RUBY_DOWNLOAD_SHA256 4fc8a9992de3e90191de369270ea4b6c1b171b7941743614cc50822ddc1fe654
ENV RUBYGEMS_VERSION 2.6.12
ENV BUNDLER_VERSION 1.15.3
Вопрос: Можно ли комбинировать параметры среды в одной строке? Если да, то как мне это сделать? И это хорошая практика?