nerdctl と SOCI CLI を使用して SOCI インデックスを作成する例 - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

nerdctl と SOCI CLI を使用して SOCI インデックスを作成する例

次のページでは、nerdctl と SOCI CLI を使用して SOCI インデックスを作成する方法の例を示します。

SOCI インデックスの作成例
  1. まず、以下の 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 インデックス付きイメージのタグです

  2. 必要なツールをインストールします。

    # 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
  3. レジストリ変数を設定します。

    REGISTRY_USER=AWS REGISTRY="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com"
  4. リージョンをエクスポートし、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
  5. 元のコンテナイメージをプルします。

    sudo nerdctl pull $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG
  6. SOCI インデックスを作成します。

    sudo nerdctl image convert --soci $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
  7. SOCI インデックス付きイメージをプッシュします。

    sudo nerdctl push --platform linux/amd64 $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG

このプロセスでは、ECR リポジトリ内の元のコンテナイメージに 2 つのアーティファクトを作成します。

  • SOCI インデックス - 遅延ロードを有効にするメタデータ

  • イメージインデックスマニフェスト - OCI 準拠マニフェスト