

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplo de creación de índices SOCI con nerdctl y SOCI CLI
<a name="soci-indexing-example-create-indexes"></a>

La siguiente página proporciona un ejemplo sobre cómo crear índices SOCI con nerdctl y SOCI CLI.

**Ejemplo de creación de índices SOCI**

1. Primero configure las variables para los AWS CLI comandos siguientes. El siguiente es un ejemplo de cómo configurar las variables.

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

   Definiciones de variables:
   + `ACCOUNT_ID`es tu Cuenta de AWS ID
   + `REGION`es el Región de AWS de su registro privado de Amazon ECR
   + `REPOSITORY_NAME`es el nombre de su registro privado de Amazon ECR
   + `ORIGINAL_IMAGE_TAG`es la etiqueta de tu imagen original
   + `SOCI_IMAGE_TAG`es la etiqueta de tu imagen indexada en redes sociales

1. Instale las herramientas necesarias:

   ```
   # 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. Configure sus variables de registro:

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

1. Exporte su región y autentifíquese en 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. Extraiga la imagen original del contenedor:

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

1. Cree el índice SOCI:

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

1. Empuje la imagen indexada por el SOCII:

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

Este proceso crea dos artefactos para la imagen del contenedor original en su repositorio de ECR:
+ Índice SOCI: los metadatos permiten la carga diferida
+ Manifiesto del índice de imágenes: manifiesto compatible con OCI