BuildKit의 여러 빌더, 멀티 플랫폼 이미지, Bake 등의 기능을 `docker build`에 추가하는 Docker CLI 플러그인입니다.
ktock/buildg
BuildKit 기반 Dockerfile 빌드 디버거로, 브레이크포인트 설정, 단계별 실행, 빌드 단계 내부의 셸 접근을 지원합니다.
- 스타
- 1,502
- 포크
- 40
- 열린 이슈
- 15
- 마지막 커밋
- 3개월 전
어떤 프로젝트인가요?
buildg는 Dockerfile 빌드를 위한 디버거입니다. 오래 걸리는 빌드를 처음부터 다시 실행하며 실패 지점을 추측하는 대신, Dockerfile의 줄에 브레이크포인트를 설정하고 명령을 하나씩 실행하면서 각 단계의 빌드 컨텍스트와 파일 시스템을 살펴볼 수 있습니다.
단계에서 실행을 멈추면 해당 단계의 상태에서 대화형 셸을 열고 원하는 디버깅 도구를 실행할 수 있습니다. 빌드 이미지에 없는 도구를 셸에서 사용하도록 사용자 지정 디버거 이미지를 연결할 수도 있습니다. buildg는 Debug Adapter Protocol을 통해 에디터와도 연동되므로 VS Code, Emacs, Neovim에서 시각적 브레이크포인트를 설정해 디버거를 조작할 수 있습니다.
buildg는 아직 업스트림에 병합되지 않은 일부 패치를 포함해 BuildKit을 기반으로 하며, rootless 실행을 지원합니다. 현재 네이티브 실행은 Linux로 제한되며, 다른 플랫폼에서는 Linux VM이 필요합니다. 프로젝트는 초기 단계 소프트웨어로 표시되어 있습니다. nerdctl의 하위 명령으로도 사용할 수 있습니다.
핵심 기능
- 01Dockerfile 줄이나 실패한 단계에 브레이크포인트를 설정합니다.
- 02빌드 명령을 단계별로 실행하고 원하는 브레이크포인트까지 진행합니다.
- 03빌드 단계 내부에서 대화형 셸을 열어 상태를 살펴봅니다.
- 04사용자 지정 디버거 이미지를 연결해 원하는 도구를 사용할 수 있습니다.
- 05DAP를 통해 VS Code, Emacs, Neovim 등의 에디터와 연동됩니다.
- 06rootless 실행을 지원합니다.
활용 사례
- 규모가 크고 빌드에 오래 걸리는 Dockerfile에서 어떤 명령이 빌드를 실패시키는지 찾습니다.
- 중간 빌드 단계에서 파일과 환경을 살펴봅니다.
- VS Code나 Neovim에서 Dockerfile 빌드를 디버깅합니다.
- 원격 캐시된 빌드를 살펴보며 빌드 캐시 동작을 조사합니다.
빠른 시작
- 1
Go 1.23 이상을 설치하고 저장소를 클론합니다
git clone https://github.com/ktock/buildg - 2
make로 바이너리를 빌드합니다
make - 3
바이너리를 시스템에 설치합니다
sudo make install - 4
빌드 컨텍스트에서 디버그 세션을 시작합니다
buildg debug /path/to/build/context
사용 전 알아둘 점
- 네이티브 실행은 Linux에서만 지원됩니다. 다른 플랫폼에서는 Linux VM이 필요합니다.
- 이 프로젝트는 아직 병합되지 않은 패치를 포함하는 BuildKit 기반의 초기 단계 소프트웨어입니다.
- IDE(DAP) 연동을 위해서는 rootless 모드로 실행해야 합니다.
토픽
자주 묻는 질문
- buildg은(는) 무엇인가요?
- BuildKit 기반 Dockerfile 빌드 디버거로, 브레이크포인트 설정, 단계별 실행, 빌드 단계 내부의 셸 접근을 지원합니다. buildg는 Dockerfile 빌드를 위한 디버거입니다. 오래 걸리는 빌드를 처음부터 다시 실행하며 실패 지점을 추측하는 대신, Dockerfile의 줄에 브레이크포인트를 설정하고 명령을 하나씩 실행하면서 각 단계의 빌드 컨텍스트와 파일 시스템을 살펴볼 수 있습니다.
- buildg은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- buildg은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- buildg은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. buildg의 마지막 커밋은 2026년 7월 30일입니다.
- buildg은(는) 어디에 사용할 수 있나요?
- 규모가 크고 빌드에 오래 걸리는 Dockerfile에서 어떤 명령이 빌드를 실패시키는지 찾습니다. 중간 빌드 단계에서 파일과 환경을 살펴봅니다. VS Code나 Neovim에서 Dockerfile 빌드를 디버깅합니다. 원격 캐시된 빌드를 살펴보며 빌드 캐시 동작을 조사합니다.
- buildg는 어떻게 설치하나요?
- Go 1.23 이상을 설치하고 저장소를 클론합니다: git clone https://github.com/ktock/buildg make로 바이너리를 빌드합니다: make 바이너리를 시스템에 설치합니다: sudo make install 빌드 컨텍스트에서 디버그 세션을 시작합니다: buildg debug /path/to/build/context
- buildg은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ktock/buildg
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
소스 코드를 빌드 아티팩트로 변환하는 동시 실행·캐시 효율적인 빌드 툴킷으로, 프런트엔드를 통해 Dockerfile을 지원하며 Docker 빌드 엔진으로 사용됩니다.
Lima VM에서 nerdctl, containerd, BuildKit을 기반으로 작동하는 macOS, Windows, Linux용 오픈소스 컨테이너 개발 CLI입니다.
PageSpy SDK와 연동해 원격 기기에서 실행 중인 페이지의 콘솔 출력과 데이터를 보여 주는 자체 호스팅 가능한 원격 디버깅 웹 클라이언트입니다.
Python으로 작성한 build.envd 파일을 바탕으로 재현 가능한 컨테이너 기반 AI/ML 개발 환경을 만드는 CLI 도구입니다.
Haskell로 작성된 Dockerfile 린터로, 모범 사례를 검사하고 RUN 명령어 안의 Bash 코드는 ShellCheck로 린트합니다.