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デーモンすら必要無しで複数レイヤーに分け、変更に応じて迅速にイメージを構築するという特徴を持つ。