SOCI Snapshotter を使用した遅延プル
SOCI Snapshotter は、コンテナ化されたスナップショット プラグインです。これにより、ビルド時の変換ステップを必要とせずに、標準のOCIイメージを遅延ロードできます。"SOCI" は、"Seekable OCI"の短縮形で"so-CHEE/ソチー"と発音します。
詳細については、 https://github.com/awslabs/soci-snapshotter を参照してください。
前提 条件
-
https://github.com/awslabs/soci-snapshotter/blob/main/docs/getting-started.md から containerd リモート スナップショット プラグイン (
soci-snapshotter-grpc
) をインストールします -
以下を /
etc/containerd/config.toml
に追加します。 -
containerd
とsoci-snapshotter-grpc
を起動します。
nerdctl run
と nerdctl pull
の SOCI を有効にします
nerdctl >= 1.5.0 | |
---|---|
-
nerdctl
を --snapshotter=soci
で実行します。 -
また、コンテナーを実行せずに SOCI を使用してのみイメージをプルすることもできます。
すでに SOCI インデックスを持つイメージについては、https://gallery.ecr.aws/soci-workshop-examples を参照してください。
nerdctl push
の SOCI を有効にする
nerdctl >= 1.6.0 | |
---|---|
- SOCIインデックスでイメージをプッシュします。
nerdctl pull
に--snapshotterter=soci
引数を追加すると、nerdctl
は SOCI インデックスを作成し、インデックスをイメージと同じ宛先にプッシュします。--soci-span-size と --soci-min-layer-size は、SOCI インデックスをカスタマイズするための 2 つのプロパティです。詳細については、 コマンド リファレンス を参照してください。nerdctl push --snapshotter=soci --soci-span-size=2097152 --soci-min-layer-size=20971520 public.ecr.aws/my-registry/my-repo:latest