Конечно
в смысле объяснить)
Конечно, там несколько стейджей (FROM) Первый стейдж - стандартный тулбокс с guestfish он будет использоваться позже. Следующие 4 стейджа - это установка всех нужных пакетов в образ будующей виртуалки, здесь настраивается Centos, Ubuntu, Debian и Alpine. Следующие 4 стейджа - это непосредственно формирование образа виртуалки для каждой из них: Centos, Ubuntu, Debian и Alpine. На этом этапе в них устанавливается ядро и все пакеты. Здесь копируется корень / в /rootfs и из него с помощью guestfs-tools формируется qcow2-имадж, затем с помощью guestfish устанавливается бутлоадер (grub2) Самый последний стейдж - достаёт сбилденные образы и кладёт их в корень, всё
спасибо, но зачем?)
Потому что прикольно
например, вм обеспечивает лучшую изоляцию, чем контейнер.
Доркер предоставляет официальные образы практически для всех дистрибутивов. Так почему бы не заюзать их для формирования образов виртуалок?
удобней чем packer'ом собирать, есть слои и кеширование, че бы нет.
В итоге получаешь готовый образ, с инструкцией по сборке описанной в Dockerfile, очень удобно, кмк.
Вот да, packer у меня что-то так и не прижился. Я делал как OpenNebula team: брал официальные cloud-образы и модифицировал их до нужного состояния (скрипты в корне того же проекта), теперь же я решил просто заменить всё на один Dockerfile
хотя справедливости ради, наверное мне стоит задуматься, о том чтобы разделить их на несколько Dockerfiles, для пралельной сборки. Или даже генерить их из темплейта.
в пакере пишешь - запусти ансиблю и задача сводится к решенной ранее )
а тот же buildkit умеет собирать докерфайл параллельно, чем kaniko лучше?
buildkit крутой, но он не умеет это делать в кубе без дополнительных привелегий
он там разве для виртуалок в кеши и слои умеет? Это же долго каждый раз заново билдить
Обсуждают сегодня