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