

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

# Passaggio 3: crea l'immagine dell'applicazione e carica il file Docker nel tuo repository Amazon ECR
<a name="EKS-tutorial-step3"></a>

In questo passaggio, compila l'applicazione di esempio, crea un'immagine Docker e invia l'immagine al tuo repository Amazon ECR.

**Crea la tua applicazione, crea un'immagine Docker e inviala ad Amazon Elastic Container Registry**

1. Imposta le variabili di ambiente per la build che definisce la tua Regione AWS. Sostituisci le regioni negli esempi con le tue.

   ```
   export CASSANDRA_HOST=cassandra.{{us-east-1}}.amazonaws.com:9142
   export CASSANDRA_DC={{us-east-1}}
   ```

1. Compila la tua applicazione con Apache Maven versione 3.6.3 o successiva usando il seguente comando.

   ```
   mvn clean install
   ```

   Questo crea un `JAR` file con tutte le dipendenze incluse nella directory. `target`

1. Recupera l'URI del repository ECR necessario per il passaggio successivo con il seguente comando. Assicurati di aggiornare la regione con quella che hai utilizzato.

   ```
   aws ecr describe-repositories --region {{us-east-1}}
   ```

   L'output dovrebbe essere simile a quello dell'esempio seguente.

   ```
   "repositories": [
    {
    "repositoryArn": "arn:aws:ecr:us-east-1:111122223333:repository/my-ecr-repository",
    "registryId": "111122223333",
    "repositoryName": "my-ecr-repository",
    "repositoryUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/my-ecr-repository",
    "createdAt": "2023-11-02T03:46:34+00:00",
    "imageTagMutability": "MUTABLE",
    "imageScanningConfiguration": {
    "scanOnPush": false
    },
    "encryptionConfiguration": {
    "encryptionType": "AES256"
    }
    },
   ```

1. Dalla directory principale dell'applicazione, crea l'immagine Docker utilizzando l'URI del repository dell'ultimo passaggio. Modifica il file Docker in base alle esigenze. Nel comando build, assicurati di sostituire l'ID dell'account e di Regione AWS impostarlo sulla regione in cui si trova il repository `my-ecr-repository` Amazon ECR. 

   ```
   docker build -t {{111122223333}}.dkr.ecr.{{us-east-1}}.amazonaws.com/{{my-ecr-repository}}:latest .
   ```

1. Recupera un token di autenticazione per inviare l'immagine Docker ad Amazon ECR. Puoi farlo con il seguente comando.

   ```
   aws ecr get-login-password --region {{us-east-1}} | docker login --username AWS --password-stdin {{111122223333}}.dkr.ecr.{{us-east-1}}.amazonaws.com
   ```

1. Innanzitutto, verifica la presenza di immagini esistenti nel tuo repository Amazon ECR. Utilizzare il seguente comando.

   ```
   aws ecr describe-images --repository-name {{my-ecr-repository}} --region {{us-east-1}}
   ```

   Quindi, invia l'immagine Docker al repository. Utilizzare il seguente comando.

   ```
   docker push {{111122223333}}.dkr.ecr.{{us-east-1}}.amazonaws.com/{{my-ecr-repository}}:latest
   ```