Как создать миксин Dockerfile - PullRequest
0 голосов
/ 03 октября 2019

Я создаю инструментальные средства разработчика, мои пользователи используют Docker, и я бы хотел, чтобы они могли интегрировать мои инструменты в свои изображения.

Для этого им нужно запустить набор дополнительныхпостройте шаги в их образе, чтобы получить файлы и установить переменные окружения после того, как остальная часть их сборки будет выполнена. Лучший способ сделать это - предоставить какой-то частичный dockerfile, который они могут использовать, например, mixin. Т.е. я публикую набор команд и файлов докеров в формате, который они могут легко вставить в существующий докер-файл.

Есть ли какие-нибудь простые способы вывести набор команд в существующий докер-файл, как этот? Есть ли другие альтернативные решения?

1 Ответ

1 голос
/ 03 октября 2019

Этот вопрос, вероятно, имеет много разных ответов, но я бы рассмотрел один из этих подходов, если какой-либо из них подходит для вашего варианта использования:

Вариант 1. Предоставьте базовые изображения с директивами ONBUILD.

Если ваши пользователи могут создавать свои изображения с использованием пользовательских исходных изображений, вы можете управлять процессом их сборки с помощью директив ONBUILD.

Вариант 2. Использование сценариев удаленной оболочки вместо шагов Docker.

Возможно, установлен на GitHub. Затем вашим пользователям нужно будет просто добавить директиву RUN, например:

RUN bash <(curl -s https://raw.githubusercontent.com/You/YourRepo/master/YourScript)

Вариант 3: Использовать шаблонизатор по вашему выбору.

ЕслиВы Рубин, ERB, если вы Питонист, Джинджа. Я разработал утилиту командной строки, специально разработанную для шаблонов конфигурации, которые могут представлять интерес - см. kojo .

...