Препроцессор для Dockerfile с переменными и включаемыми файлами

Я использую докер для ряда своих приложений. Я дошел до того, что у меня около дюжины файлов докеров. Часто мне приходится вносить одно и то же изменение или включать что-то в несколько файлов докеров, что означает, что мне приходится вносить одно и то же изменение в нескольких местах.

Возможно, решением этой проблемы было бы использование препроцессора, который поддерживает включаемые файлы и переменные. Таким образом, я могу иметь общие вещи в одном файле (например, множество вещей для включения monit и supervisor) и включать эти файлы в свой Dockerfile.

Сама сборка Docker не включает замену переменных, так что, может быть, препроцессор решит проблему? Я знаю, что для CSS существует множество препроцессоров, так что есть ли общий препроцессор или что-то, что возьмет файл YAML или JSON и запишет то, что Docker поймет?

5
задан 5 March 2016 в 18:25
1 ответ

Это была тема обсуждения в Docker GitHub. Заключительный комментарий в значительной степени резюмируется следующим образом: «Нет, Dockerfile не и не должен быть языком сценариев».

Но то, как вы описываете этот случай, мне кажется чем-то, что вы следует делать после сборки, при инициализации контейнера для созданного вами изображения (возможно, с использованием томов или переменных среды вместе с красивым сценарием оболочки). Вы пробовали такой подход?

1
ответ дан 3 December 2019 в 02:02

Теги

Похожие вопросы