Инструмент для отладки Dockerfile: buildg 🛠
В мире, где каждый второй проект — это монолит, раскиданный по сотне контейнеров, отладка Dockerfile превращается в квест. Добавил пару RUN команд, собрал образ, а он не работает. Собрал заново — та же история. И вот ты уже час гадаешь, что пошло не так.
buildg — новый инструмент на базе BuildKit для интерактивной отладки Dockerfile. Он позволяет ставить брейкпоинты на любую строчку, проверять состояние файловой системы после каждой команды и запускать терминал прямо внутри сборки.
Выглядит это так:
FROM ubuntu AS dev
RUN echo hello > /hello
RUN echo world > /world
Запускаем buildg debug, ставим брейкпоинт на третью строчку командой break 3, и погнали! После остановки можно зайти внутрь командой exec и посмотреть содержимое файлов. Никаких echo и printf — чистая интерактивная отладка, как в нормальном дебаггере.
Особенно приятно, что buildg работает с VS Code, Neovim и Emacs через Debug Adapter Protocol. Теперь можно отлаживать Docker-файлы в любимом редакторе с полноценным GUI. И да, он поддерживает rootless режим — никаких sudo прав не требуется.
В комплекте идет поддержка всех фич BuildKit: кэширование, SSH-агент, секреты. А для тех, кто использует nerdctl — buildg уже встроен как подкоманда.
💻
ИсходникиИсходники #Docker