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