翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
nerdctl と SOCI CLI を使用して SOCI インデックスを作成する例
次のページでは、nerdctl と SOCI CLI を使用して SOCI インデックスを作成する方法の例を示します。
SOCI インデックスの作成例
-
まず、以下の AWS CLI コマンドの変数を設定します。変数を設定する例を次に示します。
ACCOUNT_ID="111122223333" REGION="us-east-1" REPOSITORY_NAME="repository-name" ORIGINAL_IMAGE_TAG="original-image-tag" SOCI_IMAGE_TAG="soci-indexed-image-tag"変数定義:
-
ACCOUNT_IDは AWS アカウント ID です -
REGIONは Amazon ECR プライベートレジストリ AWS リージョン の です。 -
REPOSITORY_NAMEは Amazon ECR プライベートレジストリの名前です -
ORIGINAL_IMAGE_TAGは元のイメージのタグです -
SOCI_IMAGE_TAGは SOCI インデックス付きイメージのタグです
-
-
必要なツールをインストールします。
# Install SOCI CLI, containerd, and nerdctl sudo yum install soci-snapshotter sudo yum install containerd jq sudo systemctl start soci-snapshotter sudo systemctl restart containerd sudo yum install nerdctl -
レジストリ変数を設定します。
REGISTRY_USER=AWS REGISTRY="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com" -
リージョンをエクスポートし、Amazon ECR に認証します。
export AWS_REGION=$REGION REGISTRY_PASSWORD=$(/usr/local/bin/aws ecr get-login-password --region $AWS_REGION) echo $REGISTRY_PASSWORD | sudo nerdctl login -u $REGISTRY_USER --password-stdin $REGISTRY -
元のコンテナイメージをプルします。
sudo nerdctl pull $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG -
SOCI インデックスを作成します。
sudo nerdctl image convert --soci $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG -
SOCI インデックス付きイメージをプッシュします。
sudo nerdctl push --platform linux/amd64 $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
このプロセスでは、ECR リポジトリ内の元のコンテナイメージに 2 つのアーティファクトを作成します。
-
SOCI インデックス - 遅延ロードを有効にするメタデータ
-
イメージインデックスマニフェスト - OCI 準拠マニフェスト