up:: Docker

buildpacksとは何なのか? - Qiita
コンテナ化のメソッドの比較: Buildpacks、Jib、Dockerfile | Google Cloud 公式ブログ

buildpacks

ソースコードからベストプラクティスのイメージを直接生成する。別にコンテナが最小になるとは限らない。裏でdocker使ってるので注意。
ライブラリやフレームワークを読んでいるらしい。
Dockerfileを出力することもできる。

Googleが作ったオープンソース。GCPではデフォで使える。

buildpack

ソースコードを検査し、ビルド計画をするための作業単位

必要なファイルはメタデータになるbuildpack.toml
実行可否を検証する/bin/detect
ロジックになるbin/build

ビルド方式は言語やフレームワークごとに別。Herokuからその時々に合わせたbuildpackの入手環境が整えられているのでそれを使う。

lifecycle

複数のbuildpackを連携させる

buildpackのグループを探索するDetection、
BuildとExportの最適化に使うファイルを見つける?Analysis、
ソースコードを変換し実行可能にするBuild、
最終的なOCI imageを作るExport。

stack

lifecycleを提供する。


Jib

Javaのイメージコンパイラ。Dockerデーモンすら必要無しで複数レイヤーに分け、変更に応じて迅速にイメージを構築するという特徴を持つ。