

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Crea indici SOCI con l'esempio nerdctl e SOCI CLI
<a name="soci-indexing-example-create-indexes"></a>

La pagina seguente fornisce un esempio su come creare indici SOCI con nerdctl e SOCI CLI.

**Esempio di creazione di indici SOCI**

1. Per prima cosa imposta le variabili per i AWS CLI comandi che seguono. Di seguito è riportato un esempio di impostazione delle variabili.

   ```
   ACCOUNT_ID="111122223333"
   REGION="us-east-1"
   REPOSITORY_NAME="repository-name"
   ORIGINAL_IMAGE_TAG="original-image-tag"
   SOCI_IMAGE_TAG="soci-indexed-image-tag"
   ```

   Definizioni delle variabili:
   + `ACCOUNT_ID`è il tuo Account AWS ID
   + `REGION`è il Regione AWS tuo registro privato Amazon ECR
   + `REPOSITORY_NAME`è il nome del tuo registro privato Amazon ECR
   + `ORIGINAL_IMAGE_TAG`è il tag dell'immagine originale
   + `SOCI_IMAGE_TAG`è il tag della tua immagine indicizzata SOC

1. Installa gli strumenti necessari:

   ```
   # 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
   ```

1. Imposta le variabili del registro:

   ```
   REGISTRY_USER=AWS
   REGISTRY="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com"
   ```

1. Esporta la tua regione ed esegui l'autenticazione su 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
   ```

1. Recupera l'immagine del contenitore originale:

   ```
   sudo nerdctl pull $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG
   ```

1. Crea l'indice SOCI:

   ```
   sudo nerdctl image convert --soci $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
   ```

1. Invia l'immagine indicizzata SOCI:

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

Questo processo crea due artefatti per l'immagine del contenitore originale nel tuo repository ECR:
+ Indice SOCI: metadati che consentono il caricamento lento
+ Image Index manifest - Manifesto conforme a OCI