チュートリアルでは、Paketo ビルダーで Node.js のアプリケーションのコンテナイメージをビルドしました。 Buildpack と Builder に欠かせない構成要素がスタック(Stack)です。 スタックは、Buildpack のライフサイクルで使用するビルド時の環境と実行時の環境を提供するコンテナイメージです。
スタックは2種類のイメージで構成されています。
build image
: アプリケーションをビルドするための環境ですrun image
: アプリケーションのコンテナイメージを実行するときの OS レイヤーですStack について詳しく知りたければ buildpacks.io を参照してください。
Paketo プロジェクトではいくつかのスタックを公開しています。
index.docker.io/paketobuildpacks/build:tiny-cnb
Copied!
index.docker.io/paketobuildpacks/run:tiny-cnb
Copied!
gcr.io/paketo-buildpacks/run:tiny-cnb
Copied!
index.docker.io/paketobuildpacks/build:base-cnb
Copied!
index.docker.io/paketobuildpacks/run:base-cnb
Copied!
gcr.io/paketo-buildpacks/run:base-cnb
Copied!
index.docker.io/paketobuildpacks/build:full-cnb
Copied!
index.docker.io/paketobuildpacks/run:full-cnb
Copied!
gcr.io/paketo-buildpacks/run:full-cnb
Copied!
スタックのコンテナイメージは、使用しているパッケージに CVE の対応パッチが公開されるたびに再構築しています。 CVE について詳しくは Common Vulnerabilities and Exposures (CVE) を参照してください。 それ以外の場合でも、CVE のパッチ適用漏れがないよう、毎週再構築しています。
Paketo プロジェクトとしては、優先度が高および致命的な CVE のパッチが公開されたら 40 時間以内に対応することを目指しています。 優先度が低および中の CVE のパッチについては、2週間以内に対応することを目指しています。
注意:最新のスタックを使用して作成したコンテナイメージにセキュリティスキャンツールを実行すると、脆弱性を検出する場合があります。上流のパッケージ開発元から修正パッチが公開されていない場合や、Canonical 社が修正を不要だと判断した場合があるからです。
スタックは後方互換性を保証します。 メジャーバージョンが同じなら、安全に最新のバージョンへアップグレードできます。 後方互換性を保証できない場合、新しいメジャーバージョンとしてリリースします。
Last modified: September 14, 2021