Вкратце, docker служит способом написания кода или изменений файла конфигурации для конкретной веб-службы, среды выполнения, виртуальных машин, и все это в удобных пределах терминала/текстового файла Linux. Образы Docker — это точки сохранения слоев кода, которые создаются либо из файлов докеров, либо могут быть созданы из контейнеров, для создания которых в любом случае требуется базовый образ. Файлы Docker служат способом автоматизации процесса сборки образов путем выполнения всех необходимых команд и действий для любых новых контейнеров, которые будут созданы вместе с ним, и объединения их в один файл.
Теперь это здорово и все такое, но я хочу сделать еще один шаг вперед. Создание образов, особенно с зависимостями, обременительно, потому что 1 вам приходится полагаться на команды, которых либо нет в образе ОС по умолчанию, либо 2 есть много других бесполезных команд, которые не нужны.
Теперь в моей голове я чувствую, что это возможно, но я пока не могу установить связь. Я хочу, чтобы файл dockerfile собирался с нуля (буквально образ с нуля) и строился в соответствии с ним. Он заключается в том, чтобы скопировать любые необходимые зависимости, например, rpm или что-то в этом роде, установить его, найти его команду запуска и передать все зависимости, необходимые для успешного создания и запуска образа без ошибок, обратно в файл докера. В смысле программирования
FROM scratch
COPY package.rpm
RUN *desired cmds*
Ошибки выполнения возвращаются в файл. file ищет в текущей ОС необходимые зависимости и возвращает их команде RUN.
CMD *service start up*
Что касается этой CMD, мы запустим службу, получим ее статус и отфильтруем обратно ее команды запуска обратно в часть CMD.
Проблема здесь в том, что я не верю, что могу использовать докер для этих целей. Сделать докер-сборку чего-то, сохранить ошибки и отфильтровать их обратно в сборку снова кажется сложной задачей. Я бы хотел, чтобы docker был оснащен этим, поскольку, похоже, мой единственный шанс выполнить такую задачу — это сценарий, который наносит ущерб фактору переносимости.
Любые идеи?