

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à.

# Creazione di un’immagine personalizzata e invio ad Amazon ECR
<a name="studio-updated-byoi-how-to-prepare-image"></a>

Questa pagina fornisce istruzioni su come creare un Dockerfile locale, elaborare l’immagine del container e aggiungere l’immagine ad Amazon Elastic Container Registry (Amazon ECR).

**Nota**  
Negli esempi seguenti, i tag non sono specificati, quindi il tag `latest` viene applicato per impostazione predefinita. Se desideri specificare un tag, dovrai aggiungere `:{{tag}}` alla fine dei nomi delle immagini. Per ulteriori informazioni, consulta [docker image tag](https://docs.docker.com/reference/cli/docker/image/tag/) nella *documentazione Docker*.

**Topics**
+ [Creazione di un Dockerfile e di un’immagine del container](#studio-updated-byoi-how-to-create-local-dockerfile)
+ [Aggiunta di un’immagine Docker ad Amazon ECR](#studio-updated-byoi-add-container-image)

## Creazione di un Dockerfile e di un’immagine del container
<a name="studio-updated-byoi-how-to-create-local-dockerfile"></a>

Utilizza le istruzioni seguenti per creare un Dockerfile con il software e le dipendenze desiderati.

**Per creare il tuo Dockerfile**

1. Imposta innanzitutto le variabili per i AWS CLI comandi che seguono.

   ```
   LOCAL_IMAGE_NAME={{local-image-name}}
   ```

   `{{local-image-name}}` è il nome dell’immagine del container sul dispositivo locale, che viene definito in questa sede.

1. Crea un documento basato su testo, denominato `Dockerfile`, che soddisfi le specifiche descritte in [Specifiche dell’immagine personalizzata](studio-updated-byoi-specs.md).

   Gli esempi di `Dockerfile` per le applicazioni supportate sono disponibili in [Esempi di Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).
**Nota**  
Se stai trasferendo la tua immagine in SageMaker Unified Studio, dovrai seguire le [specifiche di Dockerfile nella Guida](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) per l'utente di *Amazon SageMaker Unified* Studio.  
`Dockerfile`alcuni esempi di SageMaker Unified Studio sono disponibili nell'[esempio di Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) nella *Amazon SageMaker Unified* Studio User Guide.

1. Nella directory che contiene `Dockerfile`, crea l’immagine Docker con il comando seguente. Il punto (`.`) specifica che `Dockerfile` deve trovarsi nel contesto del comando build.

   ```
   docker build -t ${LOCAL_IMAGE_NAME} .
   ```

   Una volta completata l’operazione build, puoi elencare le informazioni sull’immagine del container con il comando seguente.

   ```
   docker images
   ```

1. (Facoltativo) Puoi testare l’immagine con il comando seguente.

   ```
   docker run -it ${LOCAL_IMAGE_NAME}
   ```

   Nell’output vedrai che il tuo server è in esecuzione su un URL, ad esempio `http://127.0.0.1:8888/...`. Puoi testare l’immagine copiando l’URL nel browser. 

   Se non funziona, potrebbe essere necessario includere `-p {{port}}:{{port}}` nel comando docker run. L’opzione mappa la porta esposta sul container alla porta sul sistema host. Per ulteriori informazioni su docker run, consulta la sezione [Running container](https://docs.docker.com/engine/containers/run/) nella *documentazione Docker*.

   Dopo aver verificato il funzionamento del server, puoi arrestarlo e chiudere tutti i kernel prima di continuare. Le istruzioni sono disponibili nell’output.

## Aggiunta di un’immagine Docker ad Amazon ECR
<a name="studio-updated-byoi-add-container-image"></a>

Per aggiungere un’immagine del container ad Amazon ECR, procedi come segue.
+ Crea un repository Amazon ECR.
+ Accedi al registro predefinito.
+ Inserisci l'immagine nel repository Amazon ECR.

**Nota**  
L'archivio Amazon ECR deve trovarsi nello Regione AWS stesso dominio a cui alleghi l'immagine.

**Per creare e inviare un’immagine del container ad Amazon ECR**

1. Per prima cosa imposta le variabili per i AWS CLI comandi che seguono.

   ```
   ACCOUNT_ID={{account-id}}
   REGION={{aws-region}}
   ECR_REPO_NAME={{ecr-repository-name}}
   ```
   + `{{account-id}}` è l’ID del tuo account. Puoi trovarlo in alto a destra in qualsiasi pagina della AWS console. Ad esempio, la [console SageMaker AI](https://console.aws.amazon.com/sagemaker).
   + `{{aws-region}}`è il dominio Amazon SageMaker AI Regione AWS del tuo dominio Amazon. Puoi trovarlo in alto a destra in qualsiasi pagina della AWS console. 
   + `{{ecr-repository-name}}` è il nome del tuo repository Amazon Elastic Container Registry, che viene definito in questa sede. Per visualizzare i tuoi repository Amazon ECR, passa alla [console di Amazon ECR](https://console.aws.amazon.com/ecr).

1. Accedi ad Amazon ECR, quindi a Docker.

   ```
   aws ecr get-login-password \
       --region ${REGION} | \
       docker login \
       --username AWS \
       --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com
   ```

   Una volta completata l’autenticazione, riceverai un messaggio di conferma dell’accesso.
**Importante**  
Se ricevi un errore, potresti dover installare la AWS CLI o aggiornarla alla versione più recente. Per ulteriori informazioni, consulta [Installazione dell’ AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella *Guida per l’utente dell’AWS Command Line Interface *.

1. Tagga l’immagine in un formato compatibile con Amazon ECR per inviarla al tuo repository.

   ```
   docker tag \
       ${LOCAL_IMAGE_NAME} \
       ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

1. Crea un repository in Amazon ECR tramite la AWS CLI. Per creare il repository utilizzando la console di Amazon ECR, consulta [Creating an Amazon ECR private repository to store images](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   aws ecr create-repository \
       --region ${REGION} \
       --repository-name ${ECR_REPO_NAME}
   ```

1. Invia l’immagine al tuo repository Amazon ECR. Puoi anche taggare l’immagine Docker.

   ```
   docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

Una volta aggiunta correttamente l’immagine al repository Amazon ECR, puoi visualizzarla nella [console di Amazon ECR](https://console.aws.amazon.com/ecr).