Dive into Buildkit LLB with Go

By po3rin

Elevator Pitch

Dockerに正式統合されたBuildKitをGoで扱う方法について発表します。

BuildKit は Goで実装されている為、Goのソースコードを読むことでGoを使ったDockerfile解析ツールや、独自のBuildKit LLB frontendを作成できます。

今回の発表ではGoでどのようにBuildkitが記述されているかをコードを追いながら、Goを使ったDoコンテナイメージフロントエンドの解析ツールの作り方や、独自のコンテナイメージフロントエンドの作り方にも触れて行く為、Goでコンテナ技術を理解する大きな1歩になるでしょう。

Description

トータルで33分ほどかかる想定です

・BuildKitとは 6分

・GoのコードからBuildkitでDockerfileをビルドする過程を追う 11分

・GoでDockerfileなどのBuildKitフロントエンドを解析するツールの作り方 8分

・ Go でDockerfile の代わりとなるオリジナル BuildKit LLB frontend を作る方法 8分

Notes

過去に日本語での発表はほとんど行われていない内容なので非常に有益な発表であると考えます。 また、Buildkit LLBを扱うGoツールを実際に数個実装して公開してきた為、実際の開発でのハマりポイントも含めて解説できます。