BuildKit
https://github.com/moby/buildkit
BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner.
Moby
プロジェクトで開発されたビルド形式
Docker
version 18.09 で正式に Docker にも取り込まれた
仕組み
Dockerfile
そのものを
Low-Level intermediate build format
(
LLB
) という中間言語にコンパイル
命令間の依存関係をグラフ (
有効非巡回グラフ
:
DAG
) にしながら最適な実行パスの解析を行う
Dockerfile
以外からも
LLB
にコンパイル可能
Dockerfile
にとっての
LLB
は
C 言語
にとっての
LLVM IR
のようなもの